1. チューニングの必要性 私は、どのように書けばいいのか本当に分からないので、共有するために最適化されたコンテンツを書くことにいつも消極的でした。うまく書かないと、いろいろと批判されてしまうからです。今日ようやく書きました。たくさんの人が私にプライベートメッセージを送ったり、グループで質問したり、私の経験を共有するように頼んできたので、屈服しました。 チューニングについて説明する前に、まずチューニングが必要な理由と、ビジネス運用とチューニングの関係を理解する必要があります。
これは業務運営プロセスであり、ビジネスの安定性、効率性、高可用性を確保するための当社の運用・保守方法でもあります。 2. チューニングの次元と意見の相違 チューニングに関する記事を書くのが最も難しいのは、異なるビジネスがさまざまなマシンで実行され、さまざまなリソースを消費するため、チューニング オプションしか伝えられず、特定のしきい値を伝えることができないためです。また、シナリオが異なるため、対応するチューニング項目としきい値は常に変化します。これは、あなたとルームメイトが両方とも風邪をひいているのに、病院で処方される薬がまったく異なるのと同じです。そのため、多くの人がチューニング記事を読んで、特定のチューニング項目やしきい値を見ると、2 つの言葉が頭に浮かぶのです。「恥ずかしいですが、写真を追加してください!」皆様にご理解いただければ幸いです。 3. Nginx のチューニング
1. Nginxの同時接続数設定 ワーカープロセス 1; これは、nginx が複数のワーカー プロセスを開始するように構成するために使用され、デフォルトは 1 です。また、nginx は、worker_cpu_affinity と呼ばれる構成項目もサポートしています。つまり、nginx は CPU を各ワーカー プロセスにバインドできます。以下のように設定しました: イベント { ワーカー接続 1024; } 2. nginxはプロセスを固定コアにバインドします ワーカーCPUアフィニティ0010 0100 1000; ワーカープロセス 3; ワーカーCPUアフィニティ0010 0100 1000; #ここで 0010 0100 1000 はマスクであり、それぞれ 2 番目、3 番目、4 番目の CPU コアを表します。 nginx を再起動すると、3 つのワーカー プロセスがそれぞれ独自の CPU を使用できるようになります。 ps -eo psr,pid,arg 表示 Nginx の同時実行数 = ワーカープロセス * ワーカー接続 3. nginxの圧縮機能 圧縮は、主に次の 2 つの点で WEB サーバーにとって非常に重要です。 1) ユーザーエクスペリエンスの向上: 送信データが小さくなり、ユーザーの待ち時間が短くなります。 2) 会社の帯域幅コストを節約: 圧縮後、送信されるデータが小さくなり、占有される帯域幅が少なくなります。 ユーザーに優れた体験を提供できるため、企業にとってもコスト削減につながります。なぜこんないいことをしないのでしょうか? これは仕事に欠かせないアイテムです。 ただし、構成の圧縮にはさらに注意が必要です。 1) 画像、音声、動画を圧縮しない 2) 1K 未満のファイルは圧縮しないでください。圧縮するとファイルサイズが大きくなります。 3) 圧縮レベルが高くなるほどCPUの消費量が多くなります 圧縮が有効になっていません 圧縮をオンにする コードは次のとおりです。 gzip on; (gzip 圧縮を有効にする) gzip_http_version 1.1; デフォルト値は HTTP/1.1 です。つまり、gzip 圧縮は HTTP/1.1 プロトコル リクエストでのみ実行されます。gzip_disable "MSIE [1-6]."; この設定は、IE1-6 バージョンで gzip 圧縮を無効にするものです。gzip_proxied any; (nginx をフロントエンド プロキシとして使用する場合はこのオプションを有効にします。つまり、バックエンド サーバーのヘッダーによって返される情報に関係なく、圧縮が無条件に有効になります) gzip_min_length 1024; (最小圧縮ページ。ページが小さすぎると、どんどん大きくなる可能性があります。ここでは、1K を超えるページに対してのみ圧縮が有効になっています) gzip_buffers 4 8k; (gzip圧縮結果データストリームを保存するためにシステムが複数のキャッシュユニットを取得し、元のデータサイズに応じて8K単位で4倍のメモリスペースを適用するように設定します) gzip_comp_level 3; (圧縮レベル。1 は圧縮率が最も低く、処理速度が最も速く、9 は圧縮率が最も高いが、処理速度が最も遅く、CPU の消費量も最も多くなります。通常は 3 に設定すれば十分です) gzip_types text/plain text/css application/x-javascript application/javascript application/xml; (圧縮が可能なページまたはドキュメントの種類) 圧縮検証を有効にする 4. nginxローカルキャッシュ機能 ブラウザ キャッシュは、ブラウジングの速度を速め、ネットワーク リソースを節約するためのものです。ブラウザは、最近要求されたドキュメントをユーザーのディスクに保存します。 クライアント キャッシュと圧縮には本質的な違いがあります。ユーザーが初めてデータをダウンロードすると、そのデータはクライアントのローカル ハードディスクに保存されます。次回使用するときは、ローカル リソースの有効期限が切れていない限り、ローカル ハードディスクから直接読み取られます。データを取得するために WEB サーバーを探す必要がないため、これが最も高速です。また、ユーザーエクスペリエンスを最適化し、企業の帯域幅コストを節約します。 以下の点に注意してください。 キャッシュは通常、画像、Web サイトのフレームワーク、オーディオ、ビデオなど、頻繁に変更されないデータをキャッシュします。最適なアプリケーションは、Baidu ホームページです。インターネットに接続していないときでも、Baidu ホームページを開けることがあることに気づいたことがありますか? これは、ローカル キャッシュを参照しているためです。 Nginx ローカル キャッシュの設定手順 nginxはexpires命令を通じてブラウザのヘッダーを設定することができる 構文: expires [time|epoch|max|off] デフォルト値: 有効期限オフ スコープ: http、サーバー、場所 このディレクティブは、HTTP 応答の「Expires」および「Cache-Control」ヘッダー (ページ キャッシュを制御する) を制御するために使用できます。 時間値には正または負の数値を使用できます。 「Expires」ヘッダーの値は、設定した時間値に現在のシステム時刻を加算することによって取得されます。 epoch は、「Expires」の値を 1970 年 1 月 1 日 00:00:01 GMT に指定します。 max は、「Expires」の値を 2037 年 12 月 31 日 23:59:59 GMT に指定し、「Cache-Control」の値を 10 年に指定します。 -1 は、「Expires」の値をサーバーの現在の時刻 - 1 秒に指定します。つまり、常に期限が切れることを意味します。 キャッシュの例 画像キャッシュ 30 日間の場所 ~.*\.(jpg|png|jpeg)$ { 有効期限は30日です。 } 1 時間の js css キャッシュの場所 ~.*\.(js|css)?$ { 1時間で期限切れになります。 } キャッシュ検証 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLとRedisでセカンダリキャッシュを実装する方法の詳細な説明
ディレクトリを作成する cd /usr/local/docker/ jenkins-docker を...
1. コマンドの紹介passwd コマンドは、ユーザー パスワード、アカウント ロック、パスワードの...
Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....
数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...
xml <?xml バージョン="1.0" エンコーディング="...
この記事は主にMysqlの複数データベースのバックアップのコード例を紹介します。この記事ではサンプル...
01. 無限フォントのダウンロード02. バンダフォントのダウンロード03. ロールアップフォントの...
1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...
ハイパーリンク a タグはリンク ポイントを表し、英語の単語「anchor」の略語です。その機能は、...
今日、Apache の nginx リバース プロキシを実行していたときに、ちょっとした問題に遭遇し...
1. mysqldump バックアップ方法では論理バックアップが使用されます。最大の欠点は、バック...
React の PC 版は Amap を使用するようにリファクタリングされました。情報を検索したと...
HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...
目次通常のページングクエリ最適化する方法大きなオフセット使用ID制限大量データ問題の最適化通常のペー...
インターネットは人々の生活にますます欠かせないものになってきていると思います。 Ajax や fle...