1. Nginxの同時実行性を最適化する[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/ 192.168.4.5 のベンチマーク (しばらくお待ちください) ソケット: 開いているファイルが多すぎます (24) //開いているファイルが多すぎることを示すプロンプト 同時実行性を高めるためにNginx設定ファイルを変更する [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf .. .. worker_processes 2; //CPUコア数と同じ events { worker_connections 65535; //ワーカーあたりの同時接続の最大数は epoll を使用します。 } .. .. [root@proxy ~]# nginx -s reload 2. Linuxカーネルパラメータを最適化する(ファイルの最大数)[root@proxy ~]# ulimit -a //すべての属性値を表示 [root@proxy ~]# ulimit -Hn 100000 //ハード制限を設定(一時ルール) [root@proxy ~]# ulimit -Sn 100000 //ソフト制限を設定する(一時的なルール) [root@proxy ~]# vim /etc/security/limits.conf .. .. * ソフトノーファイル 100000 * ハードノーファイル 100000 #設定ファイルは次のように 4 つの列に分かれています。 #ユーザーまたはグループのハード制限またはソフト制限 制限する必要があるアイテム制限の値 最適化後のサーバーの同時実行性をテストする [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/ 3. Nginxパケットヘッダーキャッシュを最適化する[root@proxy ~]# cat lnmp_soft/buffer.sh #!/bin/bash URL=http://192.168.4.5/index.html? i が {1..5000} の範囲にある場合 する URL=${URL}v$i=$i 終わり curl $URL // 5000サイクル後、長いURLアドレスバーが生成されます [root@proxy ~]# ./buffer.sh .. .. <center><h1>414 Request-URI Too Large</h1></center> //ヘッダー情報が大きすぎることを通知する Nginx 設定ファイルを変更してパケット ヘッダー キャッシュ サイズを増やす [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf .. .. http { client_header_buffer_size 1k; // デフォルトのリクエスト ヘッダー情報キャッシュ large_client_header_buffers 4 4k; // 大きなリクエスト ヘッダー情報のキャッシュの数と容量。 } [root@proxy ~]# nginx -s reload 4. ページを圧縮する[root@proxy ~]# cat /usr/local/nginx/conf/nginx.conf http { .. .. gzip on; // 圧縮をオンにします gzip_min_length 1000; // 小さなファイルは圧縮されません gzip_comp_level 4; // 圧縮率 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; //特定のファイルを圧縮します。タイプについては mime.types を参照してください。 .. .. 5. サーバーメモリキャッシュhttp { open_file_cache 最大=2000 非アクティブ=20秒; open_file_cache_valid 60秒; オープンファイルキャッシュの最小使用数は 5 です。 open_file_cache_errors をオフ; // サーバーが最大 2000 個のファイル ハンドルをキャッシュするように設定し、20 秒以内に要求のないファイル ハンドルを閉じます。// ファイル ハンドルの有効期間は 60 秒で、60 秒後に期限切れになります。// 5 回以上アクセスされたファイルのみがキャッシュされます。} 6. ブラウザのローカルキャッシュの静的データ[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf サーバー{ 聞く 80; server_name ローカルホスト; 位置 / { ルートhtml; インデックス index.html index.htm; } 場所 ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { expires 30d; //クライアントのキャッシュ時間を30日間に定義します} } [root@proxy ~]# cp /usr/share/backgrounds/day.jpg /usr/local/nginx/html [root@proxy ~]# nginx -s reload これで、nginx 最適化の 6 つの方法についての記事は終了です。より関連性の高い nginx 最適化コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要
1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...
この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...
カスケードとカスケードレベルHTML 要素は 3 次元の概念です。水平方向と垂直方向に加えて、「Z ...
質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...
効果画像:実装コードは以下のとおりですビュー <canvas id="radar-c...
日常の運用・保守作業では、nginx サービスが頻繁に使用され、nginx の高同時実行性によって生...
この記事は、VMware Workstation 12 ProのインストールLinuxチュートリアル...
この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...
アーティストになるつもりがない場合は、開発者として HTML を読んで、必要に応じて簡単な変更を加え...
具体的なコードは次のとおりです。 <a href="#"> <...
目次1. Props 親コンポーネント ---> 子コンポーネント通信2. $emit 子コン...
背景: MySQL では、レベルに制限がある場合、たとえば、ツリーの最大深度を事前に決定できる場合、...
序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...
以前、プロジェクトを開発しました。バックエンドのインターフェースを書くために Flask フレームワ...
1. Oracle は大規模データベースですが、MySQL は小規模から中規模のデータベースです。O...