Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Как nginx считает текущую скорость при работе limit re q?
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Как nginx считает текущую скорость при работе limit re q?
- From: proforg <proforg@xxxxxxxxxxxx>
- Date: Sat, 9 Jan 2010 15:46:55 +0700
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type:content-transfer-encoding; bh=WIzSg1T2UUraXRsEwEBx3g1KgehThlJ2GP+OohRFF0c=; b=DLSTkQeSMCYMtDnIbE3aypWQuk5gJgcKqEwhcBJrsbqU1FhWNTavHqC3uxsEiK/0/C lZ3l1fPC71EH4n2ecHbAHEgOgsB/8ZGB0Vl+Fo+vCGfvHaje+ZgrcpkoNcl5NGVdPV4Y 4XFCEsBmMdgiWPVeC5y3A/wTEnxMvhDGkppGk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=gV8uAhIZxwDIkEwabmxvFsWN/89nLwYOqL5DSD6ozgBPZf17GvcAUo39arIJsVNL+1 K1aOaows18VnSkACCiM0wcR2NiSf10O/6e46Emj184W95nf8NZAiAbmEC2RXwEB/9PbU qVFscraFwgNODtxrW1Te9qgFR+79YQkbRr80o=
- In-reply-to: <ca27f0b2d4de0c5ba566838b88c93341.NginxMailingListRussian@xxxxxxxxxxxxxxx>
- References: <ca27f0b2d4de0c5ba566838b88c93341.NginxMailingListRussian@xxxxxxxxxxxxxxx>
"Ограничение делается с помощью метода leaky bucket."
http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html
описание алгоритма - например вот тут:
http://en.wikipedia.org/wiki/Leaky_bucket
2010/1/9 Vanya <nginx-forum@xxxxxxxx>:
> И все-таки я побуду утренним занудой. Теоретический вопрос.
>
> вот к примеру имеем в конфиге
>
> limit_req_zone $binary_remote_addr zone=one:10m rate=30r/s;
>
>
> Допустим на сервер приходят 9 запросов с промежутком 50ms
>
> С точки зрения математики и сферического коня в вакууме, фактическая частота
> запросов при этих условиях составит:
>
> 1/50ms = 20 запросов в секунду.
>
> А с точки зрения nginx`a?
>
> Почему я задаю такой вопрос? Меня бы это не волновало, но.
> Я в качестве эксперимента выставил лимит на частоту 30r/s, далее иду на
> тестовую страницу, на которой около 15-ти картинок, стилей и прочих элементов
> (т.е. в сумме, при одном рефреше этой страницы, браузер сгенерирует не больше
> 16 запросов).
> И что же я получаю в error логе? Я все равно получаю якобы превышение частоты
> и дилэи (от 1 до 3).
>
> А если усложнить вопрос и представить что несколько запросов шли с разным
> интервалом но уложились в одну секунду? По какой формуле нгинкс вычисляет
> скорость для решения об ограничении n+1-го запроса? Текущее среднее?
>
--
Aleksej Besciokov
EMail/JID: proforg@xxxxxxxxxxxx
phone: +7 495 7853149
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|