BIND 10 trac1450, updated. d6e89061533c95248c5b174ddc1640d2ae55e6f2 perftcpdns.c checkpoint (more doc in front comment)
BIND 10 source code commits
bind10-changes at lists.isc.org
Sat Mar 30 13:46:04 UTC 2013
The branch, trac1450 has been updated
via d6e89061533c95248c5b174ddc1640d2ae55e6f2 (commit)
from 1609d31762e8971adc75cad8258b034c3a1f0fd2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d6e89061533c95248c5b174ddc1640d2ae55e6f2
Author: Francis Dupont <fdupont at isc.org>
Date: Sat Mar 30 14:45:51 2013 +0100
perftcpdns.c checkpoint (more doc in front comment)
-----------------------------------------------------------------------
Summary of changes:
tests/tools/perfdhcp/perftcpdns.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
-----------------------------------------------------------------------
diff --git a/tests/tools/perfdhcp/perftcpdns.c b/tests/tools/perfdhcp/perftcpdns.c
index 77a27a2..7a5f077 100644
--- a/tests/tools/perfdhcp/perftcpdns.c
+++ b/tests/tools/perfdhcp/perftcpdns.c
@@ -35,6 +35,32 @@
* - the receiving thread gets by epoll sockets with a pending
* response, receives responses, timeouts unanswered queries,
* and recycles (by closing them) all sockets.
+ *
+ * Rate computation details:
+ * - the target rate is in query+response per second.
+ * - rating is done by the connecting thread.
+ * - of course the tool is always late so the target rate is never
+ * reached. BTW there is no attempt to internally adjust the
+ * effective rate to the target one: this must be by tuning
+ * the rate related parameters, first the -r<rate> itself.
+ * - at the beginning of the connecting thread iteration loop
+ * (second "loops" counter) the date of the due (aka next) connect()
+ * call is computed from the last one with 101% of the rate.
+ * - the due date is compared with the current date (aka now).
+ * - if the due is before, lateconn counter is incremented, else
+ * the thread sleeps for the difference,
+ * - the next step is to reget the current , if it is still
+ * before the due date (e.g., because the sleep was interrupted)
+ * the first shortwait counter is incremented.
+ * - if it is after (common case) the number of connect calls is
+ * computed from the difference between now and due divided by rate,
+ * rounded to the next number,
+ * - this number of connect() calls is bounded by the -a<aggressivity>
+ * parameter to avoid too many back to back new connection attempts.
+ * - the compconn counter is incremented, errors (other than EINPROGRESS
+ * from not blocking connect()) are printed. When an error is
+ * related to a local limit (e.g., EMFILE, EADDRNOTAVAIL or the
+ * internal ENOMEM) the locallimit counter is incremented.
*/
#ifdef __linux__
More information about the bind10-changes
mailing list