~ubuntu-branches/ubuntu/maverick/postfix/maverick-security

« back to all changes in this revision

Viewing changes to html/SCHEDULER_README.html

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones, Wietse Venema, LaMont Jones
  • Date: 2009-06-03 14:17:08 UTC
  • mfrom: (1.1.22 upstream)
  • Revision ID: james.westby@ubuntu.com-20090603141708-o9u59xlor7nmd2x1
[Wietse Venema]

* New upstream release: 2.6.2~rc1

[LaMont Jones]

* move postfix-add-{filter,policy} manpages to section 8, and deliver
* provide: default-mta on ubuntu

Show diffs side-by-side

added added

removed removed

Lines of Context:
177
177
feedback algorithm are a) the option of less-than-1 positive feedback
178
178
per delivery to avoid overwhelming servers, b) the option of
179
179
less-than-1 negative feedback per delivery to avoid giving up too
180
 
fast, c) feedback hysteresis to avoid rapid oscillation, and c) a
 
180
fast, c) feedback hysteresis to avoid rapid oscillation, and d) a
181
181
"reverse" hysteresis cycle for negative feedback, so that it can
182
182
correct for overload quickly.  </p>
183
183
 
255
255
                concurrency = 1
256
256
</pre>
257
257
 
258
 
<h3> <a name="concurrency_results"> Results for delivery to concurrency limited servers </a> </h3>
 
258
<h3> <a name="concurrency_results"> Results for delivery to concurrency-limited servers </a> </h3>
259
259
 
260
260
<p> Discussions about the concurrency scheduler redesign started
261
261
early 2004, when the primary goal was to find alternatives that did
461
461
 
462
462
<h4> Impact of active server concurrency limiter </h4>
463
463
 
464
 
<p> The final concurrency limited result shows what happens when
 
464
<p> The final concurrency-limited result shows what happens when
465
465
SMTP connections don't time out, but are rejected immediately with
466
466
the Postfix server's <a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a> feature
467
467
(the server replies with a 421 status and disconnects immediately).
528
528
 
529
529
</blockquote>
530
530
 
531
 
<h3> <a name="concurrency_discussion"> Discussion of concurrency limited server results </a> </h3>
 
531
<h3> <a name="concurrency_discussion"> Discussion of concurrency-limited server results </a> </h3>
532
532
 
533
533
<p> All results in the previous sections are based on the first
534
534
delivery runs only; they do not include any second etc. delivery
640
640
or handshake failure </td> </tr>
641
641
 
642
642
<tr> <td> <a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a><br>
643
 
<a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a> </td>
 
643
<a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a> </td>
644
644
<td align="center"> 2.5<br> 2.5 </td> <td> Per-destination negative
645
645
feedback amount, per delivery that fails with connection or handshake
646
646
failure </td> </tr>
690
690
up the message </a> - how it is assigned to transports, jobs, peers,
691
691
entries
692
692
 
693
 
<li> <a href="#<tt>nqmgr</tt>_selection"> How does the entry selection
694
 
work </a>
 
693
<li> <a href="#<tt>nqmgr</tt>_selection"> How the entry selection
 
694
works </a>
695
695
 
696
 
<li> <a href="#<tt>nqmgr</tt>_preemption"> How does the preemption
697
 
work </a> - what messages may be preempted and how and what messages
 
696
<li> <a href="#<tt>nqmgr</tt>_preemption"> How the preemption
 
697
works </a> - what messages may be preempted and how and what messages
698
698
are chosen to preempt them
699
699
 
700
700
<li> <a href="#<tt>nqmgr</tt>_concurrency"> How destination concurrency
841
841
 
842
842
</p>
843
843
 
844
 
<h3> <a name="<tt>nqmgr</tt>_selection"> How does the entry selection
845
 
work </a> </h3>
 
844
<h3> <a name="<tt>nqmgr</tt>_selection"> How the entry selection
 
845
works </a> </h3>
846
846
 
847
847
<p>
848
848
 
899
899
 
900
900
</p>
901
901
 
902
 
<h3> <a name="<tt>nqmgr</tt>_preemption"> How does the preemption
903
 
work </a> </h3>
 
902
<h3> <a name="<tt>nqmgr</tt>_preemption"> How the preemption
 
903
works </a> </h3>
904
904
 
905
905
<p>
906
906
 
1047
1047
by default. This is the k from the paragraph above. Each time k
1048
1048
entries of the job are selected for delivery, this counter is
1049
1049
incremented by one. Once there are some slots accumulated, job which
1050
 
requires no more than that amount of slots to be fully delivered
 
1050
requires no more than that number of slots to be fully delivered
1051
1051
can preempt this job.
1052
1052
 
1053
1053
</p>
1090
1090
(remember a job can be preempted several times). In either case,
1091
1091
we know how many are accumulated and how many are left to deliver,
1092
1092
so we know how many it may yet accumulate at maximum. Every other
1093
 
job which may be delivered by less than that amount of slots is a
 
1093
job which may be delivered by less than that number of slots is a
1094
1094
valid candidate for preemption. How do we choose among them?
1095
1095
 
1096
1096
</p>
1111
1111
 
1112
1112
Now let's recap the previous two paragraphs. Isn't it too complicated?
1113
1113
Why don't the candidates come only among the jobs which can be
1114
 
delivered within the amount of slots the current job already
 
1114
delivered within the number of slots the current job already
1115
1115
accumulated? Why do we need to estimate how much it has yet to
1116
1116
accumulate? If you found out the answer, congratulate yourself. If
1117
1117
we did it this simple way, we would always choose the candidate
1175
1175
<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a> and <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>, whose
1176
1176
values are by default 50 and 3, respectively). The discount (resp.
1177
1177
loan) specifies how many percent (resp. how many slots) one "gets
1178
 
in advance", when the amount of slots required to deliver the best
1179
 
candidate is compared with the amount of slots the current slot had
 
1178
in advance", when the number of slots required to deliver the best
 
1179
candidate is compared with the number of slots the current slot had
1180
1180
accumulated so far.
1181
1181
 
1182
1182
</p>