nginx лучше сквида?
Alexey Bestchiokov
proforg at maloletka.ru
Mon Oct 17 18:09:57 MSD 2005
Igor Sysoev wrote:
> On Mon, 17 Oct 2005, Alexey Bestchiokov wrote:
>
>> GribUser wrote:
>>
>>> PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
>>> 28740 nobody 1 10 0 10M 9980K cpu/1 1:08 15.40% nginx
>>> 388 mysql 17 59 0 749M 670M sleep 598:21 12.97% mysqld
>>>
>>> Как сие может быть - мне вообще непонятно, по идее прием от бэкенда и
>>> выдача клиенту должны вообще ничего от процессора не требовать и уж
>>> всяко бэкенд со своими libxml/libxslt должен жрать процессор на порядок
>>> больше, чем фронтэнд. А у меня nginx только MySQL обгоняет по загрузке.
>>
>>
>> Похожую картину наблюдал у себя когда nginx отдавал с бакенда 80
>> меговые файлу в несколько сотен потоков - как я понял из за
>> постоянного чтения / записи проксированного контента во временные
>> файлы. Решилось прямой отдачей таки файлов nginx'ом.
>
>
> А как в такой ситуации ведёт себя squid ? Что он делает с огромными
> некэшируемым ответами ?
Кеширует на диск - но не новую копию на каждый запрос а одну.
по поводу сравнения производительности - нашел свои старые тесты
1) статический файл, размер 4 кб, ab -c 1000 -n 100000
Concurrency выше не поднимаю, так иначе у squid начинаются проблемы,
а настраивать его дополнительно я не готов.
squid + apache:
Time taken for tests: 416.201712 seconds
загрузка процессора при этом ~90% - squid, остальное ab
nginx:
Time taken for tests: 40.546765 seconds
процессор при этом деле делится ~ 50 на 50 между ним и nginx
2) динамический контент, размер ~60 кб, ab -c 100 -n 1000
Concurrency 100, так как иначе apache начинает свопится и отжирать
слишком много ресурсов.
squid + apache:
Time taken for tests: 26.724761 seconds
загрузка процессора ~35% squid
nginx + apache:
Time taken for tests: 18.190494 seconds
загрузка процессора ~7% squid
Алексей Бещёков
>
>
> Игорь Сысоев
> http://sysoev.ru
>
More information about the nginx-ru
mailing list