この記事では主に nginx 管理構成の最適化について紹介します。これは、必要な友人に参考にしていただけるようになりました
基本的な最適化
server_tokens off;
user nginx nginx;3. nginx サービスのワーカープロセスの数を最適化します
worker_processes cpu*核数;4. 異なる nginx プロセスの異なる CPU へのバインドを最適化します。 5. nginx 時間処理モデルの最適化
worker_cpu_affinit 0001 0010 0100 1000 0001 0010 0100 1000;6. 単一プロセス内の最大接続数を調整
use epoll7. nginx ワークプロセスで開くファイルの最大数
worker_connections 20480;8. 効率的なファイル転送モードを有効にする
worker_rlimit_nofile 65535;効率的なファイル転送モードを有効にするために使用され、tcp_nopush 命令と tcp_nolay 命令を同時にオンに設定すると、ネットワークとディスク I/O のブロックを防ぎ、nginx の作業効率を向上させることができます。
9号の最適化を最適化します
14 、拡張子に基づいてプログラムとファイルのアクセスを制限します。sendfile on;15. アンチホットリンク
keepalive_timeout 0; //结束响应后立即断开tcp连接。
2. nginx と php-fpm の最適化設定
nginx が多くのリクエストを転送する場合、php- fpm プロセスが足りない場合は、子プロセスが生成されます。ただし、子プロセスの生成にはカーネルのスケジューリングが必要であり、時間がかかります。
Web サイトの同時実行数が比較的大きい場合は、一度に複数のサブプロセスを静的に生成し、メモリ内に保持できます。phjp-fpm.conf を変更する
gzip on; gzip_min_length 1k; gzip_buffers 4 32k; gzip_comp_level 9; gzip_vary on;
3. PHP と mysql の最適化
カーネル レベル: 接続数を増やし、TCP リサイクルを高速化する
php レベル: 長い接続を使用し、数を保存する接続数
メモリ キャッシュ (memcached
) を使用して、mysql への負荷を軽減しますphp
と memcached
も TCP 接続を確立する必要があるため、単純な SQL クエリにはキャッシュが必要ありません。
以上がnginx管理構成の最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。