Nginx - оптимизация веб-сервера при отдаче видео-контента (нагрузка на дисковую подсистему)
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Nginx - оптимизация веб-сервера при отдаче видео-контента (нагрузка на дисковую подсистему)
Проблемой при отдаче видео контента - файлов mp4 - является высокая нагрузка на диски, особенно если это не SSD диски.
iotop - показывает од 99% нагрузку на диски и приводит к задержкам при воспроизведении видео.
Первое что нужно сделать - это поднять иcходящие буферы для отдачи статического контента и проверить результаты:
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