私はnginxマネージャを初めて使用します。私はQUICを介してHTTP / 3のような機能を得るためにnginx-quicを使います。しかし、HTTP / 3はHTTP / 2に比べてパフォーマンスが2〜3倍遅く、ラップサーバーを最適化しようとしています。 (テストケースは1GiB MP4ビデオです。)
明らかに、nginxは標準のopen()/ read()メカニズムを介してMP4ファイルをメインメモリにロードします。開いているファイルのリストからわかるように:
root@efk:~# lsof -p 31433
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 31433 www-data cwd DIR 253,0 4096 2 /
nginx 31433 www-data rtd DIR 253,0 4096 2 /
nginx 31433 www-data txt REG 253,0 22118168 1978901 /usr/sbin/nginx
nginx 31433 www-data mem REG 253,0 31680 786667 /lib/x86_64-linux-gnu/librt-2.27.so
nginx 31433 www-data mem REG 253,0 253944 786523 /lib/x86_64-linux-gnu/libnss_systemd.so.2
nginx 31433 www-data mem REG 253,0 47568 786659 /lib/x86_64-linux-gnu/libnss_files-2.27.so
nginx 31433 www-data mem REG 253,0 97176 786656 /lib/x86_64-linux-gnu/libnsl-2.27.so
nginx 31433 www-data mem REG 253,0 47576 786661 /lib/x86_64-linux-gnu/libnss_nis-2.27.so
nginx 31433 www-data mem REG 253,0 39744 786657 /lib/x86_64-linux-gnu/libnss_compat-2.27.so
nginx 31433 www-data mem REG 253,0 2030928 786645 /lib/x86_64-linux-gnu/libc-2.27.so
nginx 31433 www-data mem REG 253,0 116960 786976 /lib/x86_64-linux-gnu/libz.so.1.2.11
nginx 31433 www-data mem REG 253,0 461008 786609 /lib/x86_64-linux-gnu/libpcre.so.3.13.3
nginx 31433 www-data mem REG 253,0 1700792 786651 /lib/x86_64-linux-gnu/libm-2.27.so
nginx 31433 www-data mem REG 253,0 39208 786649 /lib/x86_64-linux-gnu/libcrypt-2.27.so
nginx 31433 www-data mem REG 253,0 144976 786664 /lib/x86_64-linux-gnu/libpthread-2.27.so
nginx 31433 www-data mem REG 253,0 14560 786650 /lib/x86_64-linux-gnu/libdl-2.27.so
nginx 31433 www-data mem REG 253,0 179152 786619 /lib/x86_64-linux-gnu/ld-2.27.so
nginx 31433 www-data DEL REG 0,18 3262848 /[aio]
nginx 31433 www-data DEL REG 0,5 3262840 /dev/zero
nginx 31433 www-data 0u CHR 1,3 0t0 6 /dev/null
nginx 31433 www-data 1u CHR 1,3 0t0 6 /dev/null
nginx 31433 www-data 2w REG 253,0 3576 4064444 /var/log/nginx/error.log
nginx 31433 www-data 3u unix 0xffff8f68c5349000 0t0 3262844 type=STREAM
nginx 31433 www-data 4w REG 253,0 0 4064327 /var/log/nginx/access.log
nginx 31433 www-data 5w REG 253,0 3576 4064444 /var/log/nginx/error.log
nginx 31433 www-data 6w REG 253,0 14289 4068656 /var/log/nginx/access-ssl.log
nginx 31433 www-data 7w REG 253,0 16943 4068657 /var/log/nginx/error-ssl.log
nginx 31433 www-data 8u IPv4 3262832 0t0 TCP *:http-alt (LISTEN)
nginx 31433 www-data 9u IPv6 3262833 0t0 TCP *:http-alt (LISTEN)
nginx 31433 www-data 10u IPv4 3262834 0t0 TCP *:8443 (LISTEN)
nginx 31433 www-data 11u IPv4 3262835 0t0 UDP *:8443
nginx 31433 www-data 12u IPv6 3262836 0t0 TCP *:8443 (LISTEN)
nginx 31433 www-data 13u IPv6 3262837 0t0 UDP *:8443
nginx 31433 www-data 14u IPv4 3262838 0t0 UDP *:8443
nginx 31433 www-data 15u IPv6 3262839 0t0 UDP *:8443
nginx 31433 www-data 16r REG 253,0 1111252479 3148096 /home/www/media/LandArt/LandArt_Novoselec/Land_Art_Ozalj_2020.mp4
nginx 31433 www-data 18u unix 0xffff8f68c5349c00 0t0 3262847 type=STREAM
nginx 31433 www-data 19u a_inode 0,13 0 9700 [eventpoll]
nginx 31433 www-data 20u a_inode 0,13 0 9700 [eventfd]
nginx 31433 www-data 21u a_inode 0,13 0 9700 [eventfd]
root@efk:~#
特に、この行は、MP4がmmap()ファイルではなく通常のファイルのように開いていることを示すために重要です。
nginx 31433 www-data 16r REG 253,0 1111252479 3148096 /home/www/media/LandArt/LandArt_Novoselec/Land_Art_Ozalj_2020.mp4
私はapache2のMMapFileディレクティブを介してメモリmmap()キャッシュを実装したいと思います。
apache2のメモリマッピングファイルはlsof出力から次のようになります。
apache2 7778 root mem REG 253,0 25076 2496871 /home/www/alu/cms/upload/vijesti/promo/fanzin_skola_hodanja/FRANCUSKI_INSTITUT_13__smb1.jpg
apache2 7778 root mem REG 253,0 98367 2490374 /home/www/alu/cms/upload/vijesti/predavanja/Branko_Senoa__deform__sfw.jpg
apache2 7778 root mem REG 253,0 147284 2500369 /home/www/alu/cms/upload/vijesti/pozivnice/aluperspektiva_program_plakat_2019.pdf
apache2 7778 root mem REG 253,0 5812 2492772 /home/www/alu/cms/upload/vijesti/promo/KtT/KunstTeatar_Tresnjevka__Sl8__smb1.jpg
apache2 7778 root mem REG 253,0 38218 2492832 /home/www/alu/cms/upload/vijesti/predavanja/Zvjezdana_Jembrih__Pretkrscansko_u_krscanskom__smb1.jpg
apache2 7778 root mem REG 253,0 26240 2496678 /home/www/alu/cms/upload/vijesti/predavanja/Predavanje_i_promocija_u_Atelieru_Mestrovic_image001__smb1.jpg
apache2 7778 root mem REG 253,0 111703 2247498 /home/www/alu/cms/upload/vijesti/plakat_martinis.jpg
apache2 7778 root mem REG 253,0 123947 2496574 /home/www/alu/cms/upload/vijesti/plakati/VODIC_za_brucose_ak.god._2017._2018._za_web-alu.pdf
apache2 7778 root mem REG 253,0 319054 2492595 /home/www/alu/cms/upload/vijesti/natjecaji/Natjecaj_za_upis_na_studij_Intelektualno_vlasnistvo_ak.god._2019-2020.pdf
apache2 7778 root mem REG 253,0 7996 2496738 /home/www/alu/cms/upload/vijesti/projekti/Ana_Husman_6_sa_7_METARA_image1.jpg
apache2 7778 root mem REG 253,0 22264 2496648 /home/www/alu/cms/upload/vijesti/predavanja/Looking_Forward_to_Yesterday__Slika-2__timo-i-nadia__smb1.jpg
apache2 7778 root mem REG 253,0 192 2499950 /home/www/alu/contenido/images/but_ok.gif
nginx ドキュメントに関連するコマンドが見つかりません。ディスクキャッシュとプロキシのみが適用されます。
とても感謝しています。
マービン