ホームページ > 見出し > PHP の高い同時実行性と高トラフィックのサイト nginx の最適化

PHP の高い同時実行性と高トラフィックのサイト nginx の最適化

无忌哥哥
リリース: 2018-06-27 14:53:24
オリジナル
2413 人が閲覧しました

私たちのサイトは現在、数千万のPVと数百万の同時実行を処理できます。私はphp+nginxの最適化について少し経験があるので、いくつかの記録を残すために書き留めておきます。

1.TCP ソケットと Unix ソケット

Unix ソケットは、TCP ソケットよりも優れたパフォーマンスを提供します (I/O データの読み取りと書き込みが少なく、コンテキストの切り替えが少ないため)。

upstream backend 
{ 
  server unix:/var/run/fastcgi.sock; 
  # server 127.0.0.1:8080; 
}
ログイン後にコピー

2. access_log を無効にするか最適化します

大量のトラフィックでアクセスすると、アクセス ログに大量のディスクの読み書きが発生します。ログ記録が必要ない場合は、無効にすることができます。

access_log off; 
log_not_found off;
ログイン後にコピー

またはバッファリングをオンにします

access_log /var/log/nginx/access.log main buffer=32k;
ログイン後にコピー

3. Gzip をオンにします

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
ログイン後にコピー


5. ワーカープロセスを最適化します


nginx はプロセスに対してマルチスレッドではなくマルチプロセスです関連 次のように構成を最適化する必要があります。

まず、サーバー上のプロセッサの数を見てください。

fastcgi_buffers 256 16k; 
fastcgi_buffer_size 128k; 
fastcgi_connect_timeout 3s; 
fastcgi_send_timeout 120s; 
fastcgi_read_timeout 120s; 
fastcgi_busy_buffers_size 256k; 
fastcgi_temp_file_write_size 256k;
ログイン後にコピー

次にworker_processesを設定し、プロセス数が取得したプロセッサ数になります。 worker_connections は、各プロセスが開くことができる接続の最大数であり、増やすことができます。こちらが参考になります。

りー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート