Размер блока чтения в proxy_module

Александр Кунич a.kunich на webguard.pro
Пн Май 23 06:25:10 UTC 2022


Здравствуйте.

Подскажите пожалуйста, есть ли способ настроить nginx так, чтобы он 
читал более большими кусками файлы? У меня стоит задача раздавать файлы, 
размер которых от 0,7 до 8 мегабайт. Большая часть больше 1М .
Собрал массив на тестовом сервере.
lsi raid1, размер чанка 1М,

Тест fio с размером блока 1М показывает производительность массива 
185-190 МБ/с

Nginx , судя по iostat avgrq-sz, читает кусками чуть меньше 256КБ . 
Пиковая производительность в 2 раза меньше (около 80-85МБ/с).

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s 
avgrq-sz avgqu-sz   await  svctm  %util
sdd               0.60     0.00  348.80    0.00    73.39 0.00   
430.93     7.01   20.08   2.45  85.44

Пробовал как ext4, так и xfs. Результат примерно одинаков. Максимальный 
размер io у VD дисков выставлен в 1 мегабайт:

/queue/max_hw_sectors_kb:1024
/queue/max_sectors_kb:1024

В тесте fio  avgrq-sz близок к 2048, чего и хотелось бы достичь от nginx.

Нигде в документации не нашёл параметров, которые явно могли бы на это 
повлиять. Различные буферы "крутить" пробовал, не помогает.
Заранее, большое спасибо за помощь.

С уважением,
Александр Кунич.




Подробная информация о списке рассылки nginx-ru