Потребление памяти воркерами

Olexander Shtepa isk at idegroup.com
Wed Dec 12 16:09:44 MSK 2007


> SSL используется ?

Да, почти каждый server имеет SSL конфигурацию.

Еще, кажется я что-то нащупал.
Увеличение client_header_buffer_size с 1к до 4к радикально уменьшило
потребление памяти, даже при возращении keepalive_timeout к прежнему
значению в 65 секунд, размер воркера не превышает теперь 13М.

В порядке эксперимента устроил пробные тесты на тестовой машине:
ab -n 10000 -c 1 -H ... {10 хидеров по 110 байт} http://localhost/small.html
И несколько конфигураций nginxа (SSL нигде нету в конфигурации):
1. client_header_buffer_size 1к;
2. client_header_buffer_size 4к;
3. client_header_buffer_size 1к; large_client_header_buffers 4 2k;
4. client_header_buffer_size 1к; large_client_header_buffers 4 8k;
5. client_header_buffer_size 1к; large_client_header_buffers 4 64k;

Размеры воркера под конец теста (после завершения теста размер уменьшался
до начального в ~2М):
1. ~42М (4к на 1 запрос)
2. ~2М (размер немного поднялся, но всего на ~100к)
3. ~22М (2к на 1 запрос)
4. ~50М (4.8к на 1 запрос)
5. ~53М (5.1к на 1 запрос)
Изминение количества буферов в large_client_header_buffers на результат не
влияло.
Примечательно, что в случае 2, скорость отдачи была ~12к #/sec, а для всех
остальных - 2-3к #/sec, причем под конец теста скорость отдачи ощутимо
падала, что хорошо было видно на глаз.


More information about the nginx-ru mailing list