Nginx - оптимизация веб-сервера при отдаче видео-контента (нагрузка на дисковую подсистему)


Материал из Wiki - Iphoster - 'the best ever support'

Перейти к: навигация, поиск

Доступная цена

Nginx - оптимизация веб-сервера при отдаче видео-контента (нагрузка на дисковую подсистему)

Проблемой при отдаче видео контента - файлов mp4 - является высокая нагрузка на диски, особенно если это не SSD диски.
iotop - показывает од 99% нагрузку на диски и приводит к задержкам при воспроизведении видео.


Первое что нужно сделать - это поднять иходящие буферы для отдачи статического контента и проверить результаты:

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|mp4|srt|gz|bz2?|rar|swf)$ {
       aio on;
       directio 512;
       output_buffers 1 16m;
               }


Результаты для software raid-1 видим - нагрузка от nginx на диски уже не под 99%:

Total DISK READ :     127.41 M/s | Total DISK WRITE :     269.18 K/s
Actual DISK READ:     127.41 M/s | Actual DISK WRITE:     209.80 K/s
 TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 685 be/4 apache      112.88 M      0.00 B  0.00 % 34.89 % nginx: worker process
 690 be/4 apache       80.01 M      4.00 K  0.00 % 32.52 % nginx: worker process
 692 be/4 apache       64.00 M      0.00 B  0.00 % 20.03 % nginx: worker process
 695 be/4 apache      272.00 M      8.00 K  0.00 % 18.27 % nginx: worker process
 684 be/4 apache      256.50 M      0.00 B  0.00 % 16.13 % nginx: worker process
 687 be/4 apache      224.00 M      8.00 K  0.00 % 12.74 % nginx: worker process
 496 be/3 root          0.00 B     40.00 K  0.00 %  9.44 % [jbd2/md126-8]
 693 be/4 apache      144.50 M      4.00 K  0.00 %  5.35 % nginx: worker process
 689 be/4 apache       16.00 M      4.00 K  0.00 %  5.07 % nginx: worker process
 460 be/4 root          0.00 B      0.00 B  0.00 %  3.12 % [md126_raid1]
22637 be/4 apache        0.00 B      8.00 K  0.00 %  2.66 % httpd -DFOREGROUND
 694 be/4 apache       80.00 M      0.00 B  0.00 %  2.00 % nginx: worker process
 688 be/4 apache       48.50 M      0.00 B  0.00 %  1.95 % nginx: worker process
22640 be/4 apache        0.00 B     12.00 K  0.00 %  0.00 % httpd -DFOREGROUND
22644 be/4 apache        0.00 B      4.00 K  0.00 %  0.00 % httpd -DFOREGROUND
22647 be/4 apache        0.00 B      4.00 K  0.00 %  0.00 % httpd -DFOREGROUND
22659 be/4 apache        0.00 B      8.00 K  0.00 %  0.00 % httpd -DFOREGROUND
 686 be/4 apache      112.00 M      0.00 B  0.00 %  0.00 % nginx: worker process
 691 be/4 apache       32.00 M      0.00 B  0.00 %  0.00 % nginx: worker process
23043 be/4 apache        0.00 B     12.00 K  0.00 %  0.00 % httpd -DFOREGROUND
22643 be/4 apache        0.00 B      8.00 K  0.00 %  0.00 % httpd -DFOREGROUND
19524 be/4 apache        0.00 B      4.00 K  0.00 %  0.00 % httpd -DFOREGROUND
21600 be/4 apache        0.00 B      4.00 K  0.00 %  0.00 % httpd -DFOREGROUND
Индекс цитирования