問題タブ [httperf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
benchmarking - Autobench 出力の解読で問題が発生しました
私が作成した単純な Web サーバーのベンチマークを実行しようとしていますが、Autobench が出力したものを解読するのに苦労しています。私はこれについて助けを求めてグーグルで検索してきましたが(オートベンチとhttperfのソースコードを調べても)、何が起こっているのか理解できませんでした.
サーバーで次のベンチマークを実行しました。
ここに私のresults.csvファイルがあります(読みやすくするために余分な空白があります):
不思議なんだけど:
とはdem_req_rate
どういう意味ですか? とはnet_io
どういう意味ですか? とはerrors
どういう意味ですか? とどのようにerrors
関係していdem_req_rate
ますか? これらはすべて何の単位ですか?
python - Paste.httpserverとHTTP/1.1Keep-aliveによるスローダウン。httperfとabでテスト済み
HTTPとWSGIの間のアダプターとしてpaste.httpserverに基づくWebサーバーがあります。httperfを使用してパフォーマンス測定を行う場合、-num-connを使用して毎回新しいリクエストを開始すると、1秒あたり1,000を超えるリクエストを実行できます。代わりに--num-callを使用して接続を再利用すると、1秒あたり約11のリクエストが発生し、速度は100分の1になります。
abを試してみると、タイムアウトになります。
私のテストは
と
これが単純な再現可能なサーバーです
これはマルチスレッドサーバーであり、プロファイリングが困難です。これがシングルスレッドのバリエーションです。
それをプロファイリングする
とそれを打つ
私は次のようなプロファイルを取得します
ほぼ常にrecvにあることがわかります。
私はhttprefを利用して、独自のHTTP / 1.1-with-keep-aliveリクエストを作成し、netcatを使用して送信することにしました。
一緒に送った
100リクエストの合計時間は0.03秒だったので、非常に優れたパフォーマンスです。
これは、httperfが何か間違ったことをしていることを示唆しています(ただし、広く使用され、尊敬されているコードです)。そこで、「ab」を試しました。
サーバーをインストルメント化して、1つの要求を処理し、2番目の要求を待機します。
何が起こっているのかについて何か考えはありますか?
errno - このエラーはどういう意味ですか?-httperf:予期しないエラー105で接続に失敗しました
このhttperfエラーの意味を誰かが知っていますか?これは私のテストに悪影響を及ぼしていますか?
apachebench - ベンチマーク ツール
ベンチマーク ツールとしてどちらが優れているか判断できません。apachebench ツールと httperf のどちらですか? Web アプリケーションのベンチマークに最適なツールはどれかを判断するのを手伝ってください。
load-testing - httperf で 100% 接続をリセットしますか?
httperf を使用した connreset の重要性は何なのか疑問に思っています。1 つの Web ページをテストすると、エラーは発生しません。複数のページを持つ単純な .log ファイルを使用すると、100% の connreset エラーが発生します。これを克服する方法についての提案はありますか?
testing - OS X 10.7.1 での httperf セグメンテーション違反エラー
高いリクエスト レートで httperf を使用して負荷テストを実行しようとすると、次のエラーが発生します。
「レート」が15を超えるとエラーが発生します
バージョン:
httperf 0.9.0
OS X 10.7.1
ssl - HTTPS エンドポイントの自動ベンチ
HTTPS
(ポート443
) URLをテストしていることをオートベンチで設定するにはどうすればよいですか?
私がそれを呼び出すとき:
それが示している:
HTTPS
そのページ (上記の例では) が有効な応答をhttps://host.com/hello
返すため、これは正しくありません。200 OK
ありがとう
amazon-ec2 - httperf を使用した Amazon サーバー EC2 の負荷テスト
Web サービスに Amazon EC2 サービスを使用しています。Web サービスを同時に使用できるユーザーの最大数を知りたいです。
このために、クライアント システムから httperf を使用して負荷テストを実行しました。
応答率が要求率とほぼ等しい場合、サーバーがうまく機能していることがわかります。しかし、リクエスト レート 5 の場合、テストが 20 サンプルで行われたとき、応答レートは 1 でした。タイムアウトの値は 5 でした。また、多くの要求がタイムアウトになりました。500 のうち 300 がタイムアウトしました。
- これは、クライアントでテストを行っているためですか? サーバーに httperf をインストールするにはどうすればよいですか?
- 私は何か間違ったことをしていますか?以下は、httperf を使用した負荷テスト ツールで使用したコマンドです。
httperf --server=web-service-url --rate=5 --num-conns=500 --timeout=5
- httperf は負荷テストに適したツールですか?
- Amazon は負荷テストのための他のメカニズムを提供していますか?
- 上記の負荷テストは、タイプ GET の Web サービスに対して実行されました。POST リクエストに対して個別の負荷テストを実施する必要がありますか? その場合、どのように行うのですか?
python - 100リクエストでスタックuWSGI
nginxで期待どおりに1000個のリクエストを提供します。
同じハードウェアでポート8000でuWSGIをクエリすると、200の要求と100の応答、および100のリセット接続が発生します。どうしたの?サーバーは非常に強力です。
rest - 可変パラメーターを使用して RESTful サービスをベンチマークするにはどうすればよいですか?
私は現在、作成した RESTful サービスのベンチマークに取り組んでおり、その一環として、大量のパラメーター配列に対して妥当な時間内にサービスが実行されることを確認しています。たとえば、フォームの RESTful API があるとしますsome_site.com/item?item_id=y
。その場合、自分のサービスが期待通りの速さで動作していることを確認するには、y の多くの値を、できればテキスト ファイルから取得して、1 つずつ試してみたいと思います。ab または httperf でこれを行う方法がわかりません。私は別のベンチマーク プログラムを使用することにオープンですが、シンプルで軽量なものを好みます。私がやりたいことはかなり標準的なことのように思えるので、それを実行させるプログラムがすでにあるに違いないと思いますが、1時間ほどグーグルで検索しても答えが得られません. アイデア?