From: Arkadiy Kulev
Newsgroups: nginx-ru
Date: Mon, 26 Jan 2008 18:21:07 +0000 (UTC)
Subject: Увеличение скорости отдачи большого количества мелких файлов через nginx
> я работаю под линуксом 2.6.20 с 1 гигом оперативки и сервером core2duo
> (правда настроенным под 32 бита).
> сервер используется для отдачи большого количества мелких изображений,
> а также видео flv по 2-3 мегабайта.
> в среднем около 50-70 запросов в секунду.
> было несколько конфигов, первый с worker_processes=10.
> стал замечать, что соединение устанавливается очень долго.
> увеличил до 100, соединение происходит мнгновенно, ок.
> но в обоих случаях скорость отдачи для flv (да и для картинок тоже)
> не превышала 10-20 килобайт в секунду, хотя лимитов никаких не было.
> запустил для проверки второй nginx на другом порту и только для себя,
> flv качается со скоростью 600 килобайт в сек (отличный результат) -
> делаю предположение, что проблема не в дисках (там внешний RAID 5 на
> 8 дисков).
> так вот проблема - как подобрать или настроить nginx так чтобы и в
> первом варианте было также.
Сам решил свою проблему.
установил на listen директиве параметр sndbuf=512k, а в
/etc/sysctl.conf прописал
# increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# increase Linux autotuning TCP buffer limits
# min, default, and max number of bytes to use
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
и сделал sysctl -p
Igor Sysoev: Можно попробовать
sendfile_max_chunk 128k;
1437 Прочтений • [Увеличение скорости отдачи большого количества мелких файлов через nginx (tune speed bandwidth nginx linux sysctl)] [08.05.2012] [Комментариев: 0]