RE: nginx лучше сквида?
Igor Sysoev
is at rambler-co.ru
Wed Oct 19 12:33:58 MSD 2005
On Wed, 19 Oct 2005, GribUser wrote:
>> А с каким буфером был собран squid ? И какие размеры книг - от и до ?
> 128MB я ставил, на убой, это же потолок. Книги обычно меньше метра.
> Около половины хитов идет на страницы, а не на собственно книги, там
> вообще < 100k обычно. Даунлоадеры народ юзает, но погоду они не делают,
> размеры не те.
А как называется параметр ? Я сходу ни в гугле, ни в исходниках squid'а
не нашёл.
>> Я могу ответить достаточно точно только про nginx. Приходит
>> клиент c даунлоад-мастером за файлом, допустим, 5M. nginx
>> скачивает 5М от бэкенда за доли секунды. Даунлоад-мастер
>> принимает первые 32K и закрывает соединение. Затем открывает,
>> скажем, 5 потоков, качающих этот файл с разных мест. nginx
>> все эти запросы передаёт бэкенду и снова быстро их принимает.
>> То есть, nginx принимает от бэкенда что-то около 20М. Больший
>> процент системного времени вызван тем, что всё это копируется
>> сначала Апачом в ядро, а потом nginx'ом из ядра.
> При таком раскладе апач никак не должен отставать от nginx по загрузке.
> А он отстает безнадежно. Если только я правильно понимаю принцип
> измерения загрузки процессора, конечно. Потому что system там или не
> system, но загрузка приписывается тому процессу, который к системе
> обратился. По-моему так.
Если я забираю файл непосредственно с Апача:
ab -n 500 -c 20 http://localhost:9000/5M
то top выглядит так:
CPU states: 7.5% user, 0.0% nice, 92.5% system, 0.0% interrupt, 0.0% idle
Mem: 81M Active, 61M Inact, 25M Wired, 28K Cache, 35M Buf, 82M Free
Swap: 1024M Total, 1024M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
458 is 48 0 1212K 788K RUN 0:18 57.74% 45.51% ab
459 is 2 0 1712K 1248K sbwait 0:01 4.02% 3.12% httpd
461 is 29 0 1712K 1248K RUN 0:01 3.57% 2.73% httpd
452 is 2 0 1700K 1248K sbwait 0:01 2.56% 2.39% httpd
455 is 2 0 1700K 1248K sbwait 0:01 2.56% 2.39% httpd
451 is 2 0 1700K 1248K sbwait 0:01 2.56% 2.39% httpd
464 is 2 0 1712K 1248K sbwait 0:01 2.98% 2.25% httpd
463 is 2 0 1712K 1248K sbwait 0:01 2.91% 2.20% httpd
453 is 2 0 1700K 1248K sbwait 0:01 2.24% 2.10% httpd
454 is 2 0 1700K 1248K sbwait 0:01 2.19% 2.05% httpd
460 is 2 0 1712K 1248K sbwait 0:01 2.36% 1.81% httpd
Апач в сумме набирает 30%, на ab приходится 60%, еще куда-то пропадают
10% (машина ничего не делает, кроме ab).
Как устроен учёт user/system/nice/interrupt/idle, я более или менее
представляю себе, а вот как считается время процесса, представляю
достаточно расплывчато. Я неоднократно видел на FreeBSD, как работают,
скажем, 100 Апачей, у каждого 0.00%, наверху парочка с 0.02%-0.10%,
других активных процессов нет, а user и system time по 10%.
>> 4) время обслуживания запроса в логах Апача. Я, например, не уверен,
>> что оно было меньше секунды для больших файлов.
> И что это меняет, не понял?
Как что ? Если mod_perl отдаёт дайл-апному клиенту файл в течение минуты,
то тогда зачем вся эта схема фронтенд/бэкенд ?
> На файлах бэкенд не тормозил особо, размеры не те, секунду на отклик там
> уходило только при полном дауне, но этот случай мы не берем.
Дело не в отлике, а в том, сколько времени mod_perl занят отдачей большого
файла.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list