public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Warren Young <warren@etr-usa.com>
To: cygwin@cygwin.com
Subject: Re: Testers needed: New passwd/group handling in Cygwin
Date: Wed, 05 Mar 2014 16:47:00 -0000	[thread overview]
Message-ID: <5317440D.4060000@etr-usa.com> (raw)
In-Reply-To: <20140304080727.GC7236@calimero.vinschen.de>

On 3/4/2014 01:07, Corinna Vinschen wrote:
> On Mar  3 22:07, Warren Young wrote:
>>
>> You have to measure it to find out.
>
> I was inclined to go with Andrey's suggestion for simplicity.  What's
> yours?

Science!

Survey actual lookup times, and make a statistical determination from 
that.  e.g. +3 sigma[1] above the normal to capture > 99% of the Cygwin 
user base, or +6 sigma to reduce outliers to the order of 2 ppm.

To collect the data, instrument the DLL and report anonymous statistics 
back to cygwin.com if the user opts in via setup.exe.

Rather than report back continually, just keep a model of the lookup 
time[2], and report the current lookup time average on each setup.exe 
run, such as in the HTTP request for the mirror list:

     GET /mirrors.lst?adluavg=123

That is, setup.exe is reporting that the typical AD lookup time at this 
site is currently 123 ms.

Note that you don't have to write a CGI program to accomplish this. 
Apache will continue to serve static mirror.lst files for you with the 
GET parameter.[3]  It will dutifully log each query to access_log, and 
you can dig the reported lookup time values out of the file when you 
want to compile your statistics.

When calculating statistics, use only the latest value for each 
reporting IP, so that sites that update Cygwin more often don't skew the 
results.

The default timeout should be baked into the DLL, but overridable in 
nsswitch.conf, with ms resolution.

The default shouldn't be in the shipping nsswitch.conf file, because you 
want DLL updates to be able to provide a new default timeout if your 
initial guess turns out to be inappropriate.

You want ms resolution, since my test above shows at least one case 
where the normal lookup time is on the order of 1 ms.  If cygwin1.dll 
defaults to 1 s, I'd want to change my local timeout to 10 or 100 ms.



[1] https://en.wikipedia.org/wiki/Standard_deviation

[2] A decaying average technique should work.  Save the last 10 or so 
lookup times to the registry on DLL shutdown.  If there isn't that much 
lookup data on hand, start with repeats of the last known lookup time, 
or the default value.

[3] Try it: http://cygwin.com/mirrors.lst?foo=bar

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2014-03-05 15:34 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-13 14:44 Corinna Vinschen
2014-02-13 16:05 ` Steven Penny
2014-02-13 16:17   ` Corinna Vinschen
2014-02-13 16:20     ` Corinna Vinschen
2014-02-13 16:42   ` Andrey Repin
2014-02-13 18:41     ` Lord Laraby
2014-02-13 18:49       ` Larry Hall (Cygwin)
2014-02-13 19:05         ` Lord Laraby
2014-02-13 19:37         ` Corinna Vinschen
2014-02-13 19:52       ` Andrey Repin
2014-02-14  0:31     ` Warren Young
2014-02-14  7:36       ` Andrey Repin
2014-02-14  8:00       ` Warren Young
2014-02-14  9:47         ` Corinna Vinschen
2014-02-13 19:33 ` Andrey Repin
2014-02-13 19:50   ` Corinna Vinschen
2014-02-13 19:41 ` m0viefreak
2014-02-13 19:56   ` Corinna Vinschen
2014-02-13 22:20   ` David Stacey
2014-02-14  9:05     ` Dave Kilroy
2014-02-14 10:16       ` Corinna Vinschen
2014-02-14 11:00         ` Corinna Vinschen
2014-02-14 13:51           ` Kurt Franke
2014-02-14 14:05             ` Corinna Vinschen
2014-02-14  9:49     ` Corinna Vinschen
2014-02-13 23:12 ` New passwd/group handling in Cygwin - test results and observations Andrey Repin
2014-02-14 10:42   ` Corinna Vinschen
2014-02-14 12:35     ` Andrey Repin
2014-02-14 14:13       ` Corinna Vinschen
2014-02-16 14:34         ` Andrey Repin
2014-02-16 14:48           ` Corinna Vinschen
2014-02-16 15:44             ` Corinna Vinschen
2014-02-16 15:52               ` Corinna Vinschen
2014-02-16 16:35                 ` Andrey Repin
2014-02-14  6:40 ` Testers needed: New passwd/group handling in Cygwin Warren Young
2014-02-14 10:48   ` Corinna Vinschen
2014-02-14 12:56     ` Andrey Repin
2014-02-14 14:15       ` Corinna Vinschen
2014-02-14 20:18     ` Warren Young
2014-02-14 21:49       ` Warren Young
2014-02-15 12:52       ` Corinna Vinschen
2014-02-16 11:48         ` Warren Young
2014-02-16 12:00           ` Corinna Vinschen
2014-02-16 14:50             ` Corinna Vinschen
2014-02-16 17:15               ` Christopher Faylor
2014-02-16 18:30                 ` Corinna Vinschen
2014-02-16 16:35             ` Warren Young
2014-02-16 16:53               ` Andrey Repin
2014-02-14 10:20 ` Frank Fesevur
2014-02-14 10:50   ` Corinna Vinschen
2014-02-14 12:05     ` Corinna Vinschen
2014-02-14 14:04       ` Ken Brown
2014-02-14 14:22         ` Corinna Vinschen
2014-02-14 15:23           ` Ken Brown
2014-02-15  2:51     ` Frank Fesevur
2014-02-15 12:56       ` Corinna Vinschen
2014-02-19  9:32         ` Frank Fesevur
2014-02-17 17:25 ` Corinna Vinschen
2014-02-19 15:05   ` Andrey Repin
2014-02-19 18:50     ` Corinna Vinschen
2014-02-19 19:32       ` Andrey Repin
2014-02-19 19:56         ` Corinna Vinschen
2014-02-19 20:27           ` Andrey Repin
2014-02-20 16:02             ` Corinna Vinschen
2014-02-20 17:35               ` Andrey Repin
2014-02-21 15:33   ` Corinna Vinschen
2014-02-21 16:29     ` Ken Brown
2014-02-21 16:31       ` Corinna Vinschen
2014-02-25 18:25 ` Achim Gratz
2014-02-25 19:16   ` Andrey Repin
2014-02-25 20:04     ` Achim Gratz
2014-02-25 20:25   ` Corinna Vinschen
2014-02-25 20:28     ` Achim Gratz
2014-02-25 21:55       ` Corinna Vinschen
2014-02-25 22:59         ` Andrey Repin
2014-02-26  3:09         ` Andrey Repin
2014-02-26 10:02           ` Corinna Vinschen
2014-02-26  9:06         ` Achim Gratz
2014-02-26 10:07           ` Corinna Vinschen
2014-02-26 16:12             ` Corinna Vinschen
2014-02-26 19:14               ` Achim Gratz
2014-02-27  9:08               ` Achim Gratz
2014-02-27  9:49                 ` Achim Gratz
2014-02-27  9:58                   ` Corinna Vinschen
2014-02-27 13:25                     ` Achim Gratz
2014-02-27 15:09                       ` Corinna Vinschen
2014-02-27 23:20                         ` Andrey Repin
2014-02-28 12:09                           ` Corinna Vinschen
2014-02-28 20:10                             ` Achim Gratz
2014-02-28 20:29                               ` Corinna Vinschen
2014-02-28 21:08                                 ` Frank Fesevur
2014-02-28 21:13                                   ` Corinna Vinschen
2014-02-28 21:50                                     ` Corinna Vinschen
2014-03-02 13:21                                     ` Frank Fesevur
2014-03-03  9:21                                       ` Corinna Vinschen
2014-03-03 12:19                                         ` Frank Fesevur
2014-03-03 12:29                                           ` Henry S. Thompson
2014-03-03 13:19                                             ` Corinna Vinschen
2014-03-03 17:06                                         ` Andrey Repin
2014-03-04  8:07                                           ` Warren Young
2014-03-04  8:08                                             ` Andrey Repin
2014-03-04  8:10                                               ` Warren Young
2014-03-04  8:19                                                 ` Corinna Vinschen
2014-03-05 16:47                                                   ` Warren Young [this message]
2014-03-05 20:18                                                     ` Andrey Repin
2014-03-05 23:09                                                     ` Corinna Vinschen
2014-03-03 18:24                                         ` Andy Hall
2014-03-01  8:59                                 ` Achim Gratz
2014-02-28 22:35                             ` Andrey Repin
2014-02-28 23:03                               ` Andrey Repin
2014-03-03  9:23                               ` Corinna Vinschen
2014-03-03 14:50                                 ` Andrey Repin
2014-03-03 15:07                                   ` Corinna Vinschen
2014-03-03 15:35                                     ` Andrey Repin
2014-03-03 15:41                                       ` Andrey Repin
2014-03-03 20:50                                     ` Andrey Repin
2014-03-03 22:28                                       ` Andrey Repin
2014-03-03 23:09                                     ` Andrey Repin
2014-03-04  0:37                                       ` Andrey Repin
2014-03-04 11:35                                       ` Corinna Vinschen
2014-02-28 15:49                     ` Achim Gratz
2014-02-28 17:43                       ` Corinna Vinschen
2014-03-10 18:14     ` Achim Gratz
2014-03-10 18:29       ` Corinna Vinschen
2014-03-10 19:21         ` Achim Gratz
2014-03-10 20:11           ` Corinna Vinschen
2014-03-10 20:37             ` Achim Gratz
2014-03-11 11:56               ` Achim Gratz
2014-03-11 12:07                 ` Corinna Vinschen
2014-03-11 12:40                   ` Achim Gratz
2014-03-11 13:37                     ` Corinna Vinschen
2014-03-11 17:06                       ` Achim Gratz
2014-03-11 18:14                         ` Corinna Vinschen
2014-03-11 18:50                           ` Achim Gratz
2014-03-11 19:56                             ` Achim Gratz
2014-03-12  9:27                               ` Corinna Vinschen
2014-03-12 18:00                                 ` Achim Gratz
2014-05-06 20:08                               ` Achim Gratz
2014-03-12  9:23                             ` Corinna Vinschen
2014-02-27 19:08 ` Frank Fesevur
2014-02-27 19:38   ` Andrey Repin
2014-02-27 20:16     ` Corinna Vinschen
2014-02-27 23:36       ` Andrey Repin
2014-02-27 20:10   ` Corinna Vinschen
2014-02-28 14:10     ` Corinna Vinschen
2014-02-18 17:48 J.H. vd Water
2014-02-18 17:54 ` Corinna Vinschen
2014-02-18 18:14   ` Corinna Vinschen
2014-02-18 18:44 J.H. vd Water
2014-02-18 19:13 ` Corinna Vinschen
2014-02-18 19:08 J.H. vd Water
2014-02-18 19:18 ` Corinna Vinschen
2014-02-18 19:25 Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2014-02-18 19:35 ` Corinna Vinschen
2014-02-18 20:02   ` Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2014-02-19  8:38 J.H. vd Water
2014-02-19 11:02 ` Corinna Vinschen
2014-02-19 11:48 J.H. vd Water
2014-02-19 15:47 ` Andrey Repin
2014-02-19 16:06   ` J.H. vd Water
2014-02-19 19:20 ` Corinna Vinschen
2014-02-19 21:15 J.H. vd Water
2014-02-20 11:24 ` Corinna Vinschen
2014-02-20 12:04 J.H. vd Water
2014-02-20 13:16 ` Corinna Vinschen
2014-02-20 13:34 J.H. vd Water
2014-02-20 14:57 ` Corinna Vinschen
2014-02-20 19:05 J.H. vd Water
2014-02-20 19:23 ` Corinna Vinschen
2014-02-21  7:41 J.H. vd Water

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5317440D.4060000@etr-usa.com \
    --to=warren@etr-usa.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).