Размер блока чтения в 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