Отловить момент, когда закачка завершена

Igor Sysoev is at rambler-co.ru
Wed Feb 8 20:31:13 MSK 2006


On Wed, 8 Feb 2006, AleXXX V. NovikoFF wrote:

>>> header("X-Accel-Redirect: /ftp/file.avi");
>>> header("X-Accel-Limit-Rate: 512000");
>>>
>>> Так же скорость не режется.... ее нужно обрезать прямо в конфиге в location?
>
>> Должно работать.
>
> в итоге не режет... :(

Вообще-то 512000 - 500K/s.

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#limit_rate :
Чем меньше заданная скорость, тем точнее работает ограничение.

Ограничение сейчас работает так: nginx передаёт в ядро данные.
Если ядерный TCP буфер небольшой, например, 64K, то туда запишется
только 64K. После этого nginx вычисляет задержку в миллисекундах:

sent * 1000 / limit_rate
64000 * 1000 / 512000 = 125ms, в течении 125ms nginx не будет ничего
передавать по этому соединению.

В общем, формула такова, что, чем меньше можно записать в ядро за раз,
и чем больше limit_rate, тем она менее точная.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list