ホームページ バックエンド開発 PHPチュートリアル nginx の http20 パフォーマンスは驚異的で、HTTPS ウェブサイトのパフォーマンスの最適化

nginx の http20 パフォーマンスは驚異的で、HTTPS ウェブサイトのパフォーマンスの最適化

Jul 29, 2016 am 09:01 AM
http https

背景

7 つのロード層があり、24U+64G メモリを備えた 5 台の物理マシンを使用して、https 暗号化、復号化、proxy_pass を実行します。毎日の通勤中、5 台のマシンの CPU は基本的に 50% 程度であり、これはコンピューティング タイプと考えられます。
最適化手法:キープアライブ、TLS1.2暗号アルゴリズムの最適化(参考:1、2)などがあるが、効果は大きくない。
キープアライブ オプションについて特に簡単に説明します。サーバーがどのようにサポートしているとしても、重要なのは、クライアントが維持してくれなければダメだということです。

テストプロセス

  • ハードウェア: 2 台の 24U+64G 物理マシン、1 台はテスト用、1 台は ngx を実行中、同じ LAN 内に 1GB ネットワーク カード。
  • nginx -V:

    バージョン: openresty/1.9.7.3
    gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) によってビルドされました
    OpenSSL 1.0.1e-fips で構築 (2013 年 2 月 11 日)
    TLS SNI サポートが有効になりました
    –with-http_v2_module

  • Apache の ab ストレス テスト ツール: yum インストール

  • boom は、ab の golang 実装をシミュレートするストレス テスト ツールです: https://github.com/rakyll/boo
  • nghttp2 の h2load プレッシャー テスト ツール: https://github.com/tatsuhiro-t/nghttp2
  • CentOS-7 64-bit
  • テストファイルサイズ: 5k、10k 画像、静的ファイルの https テスト。
  • テストプロセス中のパラメータを簡単に見てみましょう: -c=100~3000、-n=1k~10kwのさまざまな組み合わせ、h2load -m=1~1000を使用する場合は試しました、-m範囲のサイズhttp2 の結果への影響はそれほど大きくありません。

写真:

交通図を載せると理解できます:

下の写真はabとboomを使用する場合を示しています:
nginx の http20 パフォーマンスは驚異的で、HTTPS ウェブサイトのパフォーマンスの最適化
この時はabもboomも-kを使ってもどのように弾いても計測とタイムはこの程度です。
たとえば、次のコマンドの実行には基本的に 30 分かかります:

boom -c 1000 -n 1000000 -allow-insecure https://172.16.9.234/5k.jpg
ab -c 1000 -n 1000000 -khttps://172.16.9.234/5k.jpg

パラメータを変更せずに http2 に変換した場合:

h2load -c 1000 -n 1000000 -m1 https://172.16. 9.234/5k .jpg

h2load の実行結果は次のとおりです:
nginx の http20 パフォーマンスは驚異的で、HTTPS ウェブサイトのパフォーマンスの最適化

次の図は、http2 をテストするときの h2load を示しています:
nginx の http20 パフォーマンスは驚異的で、HTTPS ウェブサイトのパフォーマンスの最適化
ギガビット ネットワーク カード、送信トラフィックがいっぱいです。

結論

次の結論は繰り返しテストされたものであり、私自身の意見のみを表しています。toontong から指定してください。

  1. 同じ同時実行数の下で、http2.0 は 4.3G データの送信にわずか 43 秒かかりました。 .1は40分以上かかりました。
  2. 送信パフォーマンスだけを見ても、送信パフォーマンスは 10 倍以上向上しており、主要な https CPU 使用率への効果は非常に明白です。
  3. もちろん、Web サービスの全体的なパフォーマンスが 10 倍向上するわけではありません。その理由は、接続を確立するのに時間がかかるためです。さらに、http2 の原理を詳しく調べる必要があります。
  4. http2 クライアント ライブラリは go1.6 以降でのみサポートされます。go の以前のバージョンでは、https://github.com/tatsuhiro-t/go-nghttp2 を使用できます
  5. http2.0 が本当に人気がある場合は、インターネット トラフィック全体に影響を与えるため、インターネット企業のマシンの節約は大きな恩恵となります。

').addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記では、驚異的な nginx の http20 パフォーマンス、HTTPS ウェブサイトのパフォーマンスの最適化について紹介しました。内容の側面も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Sep 26, 2023 am 08:40 AM

NginxProxyManager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 近年、インターネットの普及とアプリケーション シナリオの多様化に伴い、Web サイトやアプリケーションへのアクセス方法はますます複雑になっています。 Web サイトへのアクセス効率とセキュリティを向上させるために、多くの Web サイトはユーザーのリクエストを処理するためにリバース プロキシを使用し始めています。 HTTPS プロトコルのリバース プロキシは、ユーザーのプライバシーを保護し、通信のセキュリティを確保する上で重要な役割を果たします。この記事ではNginxProxyの使い方を紹介します。

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

httpステータスコード403とは何ですか? httpステータスコード403とは何ですか? Oct 07, 2023 pm 02:04 PM

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 Sep 12, 2023 pm 01:15 PM

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

httpリクエスト415エラーの解決策 httpリクエスト415エラーの解決策 Nov 14, 2023 am 10:49 AM

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。

C# における一般的なネットワーク通信とセキュリティの問題と解決策 C# における一般的なネットワーク通信とセキュリティの問題と解決策 Oct 09, 2023 pm 09:21 PM

C# におけるネットワーク通信とセキュリティの一般的な問題と解決策 今日のインターネット時代では、ネットワーク通信はソフトウェア開発に不可欠な部分となっています。 C# では通常、データ送信のセキュリティ、ネットワーク接続の安定性など、ネットワーク通信の問題が発生します。この記事では、C# における一般的なネットワーク通信とセキュリティの問題について詳しく説明し、対応する解決策とコード例を提供します。 1. ネットワーク通信の問題 ネットワーク接続の中断: ネットワーク通信プロセス中に、ネットワーク接続が中断される場合があります。

See all articles