У меня ряд серверов раздают большие фильмы и диски изрядно и постоянно нагружены. Решил воспользоваться двумя советами, чтобы облегчить им жизнь. Freebsd 6.3 nginx/0.7.21 sendfile on;
для начала пересобрал ядро с MAXPHYS=1024*1024 и поднял kern.ipc.sfreadahead - заметно полегчало.
параллельно на другом сервере отформатировал винчестеры с блоком 64kb - тоже появился прирост на 30%, но там не nginx. Воодушевленный решил скрестить оба метода.
Отформатировал все винчестеры с блоком 64kb и тут случилась засада. nginx в жестком biord! все тормозит, скорость упала в два раза.
смотрю iostat:
Первые два - SATA, третий - системный скази, раздают все. Системный конечно переформатированию не подвергался. Вопрос - почему у всех винтов отформатированных с блоком 64kb, KB/t стабильно - 64.00 и плавают только tps? А у системного KB/t - заметно поприличнее!
Но это когда работает только nginx, запускаю mc и копирую файл с диска на диск, несмотря на то что gstat говорит 90% занятости, файл копируется легко в 20+мег в секунду, а iostat показывает следующее: 0 358 512.00 108 53.95 0.00 0 0.00 512.00 108 53.95 4 0 11 2 83
0 331 512.00 105 52.45 0.00 0 0.00 512.00 105 52.45 2 0 11 1 86 0 491 512.00 108 53.95 0.00 0 0.00 512.00 108 53.95 4 0 12 1 83 0 361 512.00 109 54.45 0.00 0 0.00 512.00 109 54.45 3 0 12 2 83
Заветные 512, как завещал sfreadahead! И колечество операций tps даже практически не выросло! Ничего не понимаю! Можно как-то, без переформатирования всех дисков обратно, заставить nginx читать поумнее? или дело вообще в чем-то другом?