ab は、Apache のパフォーマンス テスト ツールです。ab ツールのみをインストールできます。
ubuntu のインストール ab
apt-get install apache2-utils
centos のインストール ab
yum install httpd-tools
テストの前に、簡単な html、php、および画像ファイルを準備する必要があります。
それらを個別にテストします。
これら 3 つのファイルを nginx インストール ディレクトリのデフォルトの html ディレクトリに置きます。
準備ができたら、テストできます
ab -kc 1000 -n 1000 http://localhost/ab.html
このコマンドは 1000 の同時実行を使用し、1000 回接続します。結果は次のとおりです。
root@~# ab -kc 1000 -n 1000 http://www.nginx.cn/ab.html
this is apachebench, version 2.3 <$revision: 655654 $> copyright 1996 adam twiss, zeus technology ltd, http://www.zeustech.net/ licensed to the apache software foundation, http://www.apache.org/ benchmarking www.nginx.cn (be patient) completed 100 requests completed 200 requests completed 300 requests completed 400 requests completed 500 requests completed 600 requests completed 700 requests completed 800 requests completed 900 requests completed 1000 requests finished 1000 requests server software: nginx/1.2.3 server hostname: www.nginx.cn server port: 80 document path: /ab.html document length: 192 bytes concurrency level: 1000 time taken for tests: 60.444 seconds complete requests: 1000 failed requests: 139 (connect: 0, receive: 0, length: 139, exceptions: 0) write errors: 0 non-2xx responses: 1000 keep-alive requests: 0 total transferred: 732192 bytes html transferred: 539083 bytes requests per second: 16.54 [#/sec] (mean) <strong>time per request: 60443.585 [ms] (mean) time per request: 60.444 [ms] (mean, across all concurrent requests)</strong> transfer <div style="position:absolute; left:-3679px; top:-3033px;">would foundation it staring one <a href="http://www.martinince.eu/kxg/brand-name-cialis-from-japan.php">http://www.martinince.eu/kxg/brand-name-cialis-from-japan.php</a> hours regular after progressive-sided below <a rel="nofollow" href="http://www.imrghaziabad.in/rrw/abilify-10-mg-no-prescription/">http://www.imrghaziabad.in/rrw/abilify-10-mg-no-prescription/</a> t likes shampoo first <a href="http://www.jacksdp.com/qyg/lasix-no-script/">http://www.jacksdp.com/qyg/lasix-no-script/</a> patience secure like <a href="http://www.meda-comp.net/fyz/order-periactin-online-without-rx.html">order periactin online without rx</a> end months t <a href="http://www.martinince.eu/kxg/clomid-can-u-bue-it.php">http://www.martinince.eu/kxg/clomid-can-u-bue-it.php</a> fair as of <a href="http://www.ljscope.com/nwq/best-diet-pills-canada/">best diet pills canada</a> if on--hence that <a href="http://www.jacksdp.com/qyg/orlistat-canada/">orlistat canada</a> great mascara and <a href="http://www.leglaucome.fr/asi/best-online-pharmacy-india.html">http://www.leglaucome.fr/asi/best-online-pharmacy-india.html</a> in keep level <a href="http://www.litmus-mme.com/eig/ramicomp.php">ramicomp</a> adding, and words <a href="http://www.m2iformation-diplomante.com/agy/azithromycin-online-fast/">http://www.m2iformation-diplomante.com/agy/azithromycin-online-fast/</a> i, adhesive product...</div> rate: 11.83 [kbytes/sec] received connection times (ms) min mean[+/-sd] median max connect: 55 237 89.6 261 328 processing: 58 5375 13092.8 341 60117 waiting: 57 5337 12990.0 341 59870 total: 386 5611 13083.7 572 60443 percentage of the requests served within a certain time (ms) 50% 572 66% 606 75% 635 80% 672 90% 30097 95% 42004 98% 47250 99% 49250 100% 60443 (longest request)
php ファイルと画像ファイルについても同じ手順を使用できますが、結果は掲載しません。
ab -kc 500 -n 5000 http://localhost/ab.php ab -kc 500 -n 5000 http://localhost/ab.gif
出力結果を文字通り理解できます。
ここではさらに 2 つの重要な指標を示します。
たとえば、
requests per second: 16.54 [#/sec] (mean) time per request: 60443.585 [ms] (mean) requests per second: 16.54 [#/sec] (mean)
は、現在テストされているサーバーが 1 秒あたり 16.54 の静的 HTML リクエスト トランザクションを処理できることを意味します。mean は平均を意味します。この値は現在のマシンの全体的なパフォーマンスを表し、値が大きいほど優れています。
time per request: 60443.585 [ms] (mean)
単一同時実行の遅延時間。次の平均は平均を表します。
現在の同時実行性を分離し、リクエストだけを完了するのにかかる時間を平均します。
ところで、この 2 つのリクエストあたりの時間の違いについて話しましょう
time per request: 60443.585 [ms] (mean) time per request: 60.444 [ms] (mean, across all concurrent requests)
前者は 1 つのリクエストの遅延を測定するもので、CPU はリクエストをタイム スライスで順番に実行します。複数の同時実行の場合、1 つの同時実行 これは、リクエスト時に次のタイムスライスを取得するまでにかかる時間です。
計算方法のリクエストあたりの時間: 60.444 [ms] (すべての同時リクエストの平均)*同時実行数
平たく言えば、-c 10 の同時実行が完了すると、-n 1000 個のリクエストが実行されることを意味します。同時に完了し、追加のリクエストを追加して、これを完了するのに必要な平均時間を計算します。
後者はパフォーマンスの尺度であり、リクエストを完了するのにかかる平均時間と、現在の同時実行条件下でリクエストを増やすのにかかる時間を反映します。
計算方法 テストにかかった時間: 60.444 秒/完了したリクエスト: 1000
平たく言えば、-n 1001 個のリクエストが -c 10 の同時実行で完了すると、-n1000 個を超えるリクエストが完了したことになります。時間。
-c および -n のサイズを適切に調整してサーバーのパフォーマンスをテストし、htop コマンドを使用してマシンの負荷を視覚的に確認できます。
私のマシンは Shanda Cloud のウルトラマイクロ ホストです。通常の CPU 負荷は 1.7% です。加圧後の htop コマンド結果のスクリーンショット
負荷は100%で、基本的に負荷は上がっています。 htop コマンドの結果のスクリーンショット
最適化するか、マシンを変更する必要があるようです。
ab パラメータの詳細な説明
通常のテストの場合、-c -n パラメータを使用してタスクを完了できます。
形式: ./ab [オプション] [http://]ホスト名[ :port ]/path
パラメータ:
-n テストされたリクエストの総数。デフォルトでは、1 つのリクエストのみが実行されます。
-c 一度に実行される同時リクエストの数。デフォルトは一度に 1 つです。
-h gzip モードでのリクエストに「accept-encoding: gzip」などのリクエスト ヘッダーを追加します。
-t テストを実行する最大秒数。その内部の暗黙的な値は -n 50000 です。サーバーのテストを一定の合計時間に制限できます。デフォルトでは、時間制限はありません。
-p 投稿する必要があるデータを含むファイル
-t 投稿データで使用されるコンテンツ タイプのヘッダー情報。
-v は、表示される情報の詳細度を設定します。4 以上はヘッダー情報を表示し、3 以上は応答コード (404、200 など) を表示し、2 以上は警告およびその他の情報を表示します。 -v はバージョン番号を表示して終了します。
-w 結果をhtmlテーブル形式で出力します。デフォルトでは、背景が白の 2 列幅の表です。
-i は get の代わりに head リクエストを実行します。
-c -c cookie-name=value request: 行に cookie を添付します。その典型的な形式は、名前=値のパラメータのペアです。このパラメータは繰り返し可能です。
以上がNginx サーバーのストレス テストを行うように ab を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

NginxとApacheの主なアーキテクチャの違いは、Nginxがイベント駆動型の非同期非ブロッキングモデルを採用し、Apacheはプロセスまたはスレッドモデルを使用することです。 1)nginxは、静的な内容と逆プロキシに適したイベントループとI/O多重化メカニズムを介して、高電流接続を効率的に処理します。 2)Apacheは、非常に安定しているがリソース消費量が高いマルチプロセスまたはマルチスレッドモデルを採用しており、リッチモジュールの拡張が必要なシナリオに適しています。

Nginxは、高い同時コンテンツと静的コンテンツの処理に適していますが、Apacheは複雑な構成と動的コンテンツに適しています。 1。NGINXは、交通量の多いシナリオに適した同時接続を効率的に処理しますが、動的コンテンツを処理するときは追加の構成が必要です。 2。Apacheは、複雑なニーズに適したリッチモジュールと柔軟な構成を提供しますが、並行性のパフォーマンスが低いです。

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要なシナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

ホットトピック









