問題タブ [apachebench]
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.
caching - memcacheサーバーは、AB(Apache Benchmark)を介した大量のリクエストで接続を失いました
先週、合計40万行、約220 MBのmysqlサーバーで大きな問題が発生したため、memcacheの使用を開始することにしました。スクリプト全体を変更する前に、テストページが準備され、apacheベンチマークでテストされています(テストする正しい方法かどうかはわかりません)
上記のコマンドを使用してさらに多くのリクエストをテストすると、25000リクエスト後にmemcacheが切断を開始します。
これがtest.phpのサンプルコードです
?>
MySQLから取得したデータは約120KBです
memcached cachesize=1024も2048で試行されました
memcached maxconn = 4096
mysqlサーバーのトラフィックが多いために発生する問題は、memcacheの後で修正されるようですが、memcacheの切断が現在の問題です。今回はmysqlサーバーは機能するようですが、memcacheは切断されます。
どんなアイデアでも役に立ちます。ありがとう。
http - シンプルな Dart HTTP サーバーが Apache Bench でハングする
このGoogle Dartテスト プログラムがあります。
Chrome と Firefox で正常に動作し、supメッセージが表示されます。
ただし、Apache Bench を試してみるとすぐにハングします (ab
ハングします)。
ab
Apache HTTPサーバーをインストールすることで見つけることができ、bin
フォルダーの下に配置されます。
ab
余談ですが、私が使用できる(そしてハングしない)ものに似た他のベンチマークツールはありますか?
benchmarking - REST Web アプリケーションで ApacheBenchmark を使用してベンチマークを実行できない
ab を使用して 2 つの単純な REST Web フレームワード (RESTlet と RESTfulie) のベンチマークを行いたいのですが、両方のフレームワーク (hello world) を使用して非常に単純なアプリをデプロイし、次のコマンドを実行しようとしました。
しかし、私は常にこのエラーが発生します:
ローカルホストのベンチマーク (しばらくお待ちください)...apr_pollset_poll: 指定されたタイムアウトが期限切れになりました (70007)
私の問題は何ですか?または、REST Webアプリのテストに使用できるベンチマークツールの種類は、apache / phpサーバーで問題なく動作するため、RESTにアレルギーがあると思います。
python - `-k`を追加すると、竜巻のApacheBenchテストが中止されるのはなぜですか?
私はこのような竜巻httpサーバーを起動します:
Connection: keep-alive
ヘッダーを設定no_keep_alive
してリクエストを取り込みたいのですがTrue
。
私が走るとき
出力
削除する-k
と、すべてが正常に機能しています。
php - Apache Bench: 503 が多いのはなぜですか?
DreamHost で専用サーバーを実行しています: クアッド コア、4 GB RAM。
Linux (Debian)、Apache、PHP (オペコード キャッシング用の XCache を使用)、MySQL。
私がクエリしている URL には、毎回 18 個の MySQL クエリがあります。
「ab -n 500 -c 50 http://< url >/」を実行すると、次の結果が得られるのはなぜだろうか。
失敗した 377 件のリクエストはすべて 503 です。何が原因でしょうか? これを実行top
しながら実行すると、プロセッサが約 24% に急上昇しましたが、それほど負担にはなりませんでした。
私の CMS によると、ページの 1 回の読み込みで、基本クラスの読み込みに 0.0017 秒、コントローラーの実行時間に 0.1711 秒、合計実行時間は 0.1731 秒で、2.887 MB のメモリを使用しています。
ab -n 100 -c 10
失敗したリクエストは常に 0 件ですが、同時接続数が 25 を超えるものには、多数の失敗した接続があるようです。
来週は大量のトラフィックが一気に来ると予想されますが、サーバーを準備するにはどうすればよいですか? このまま持ちこたえますか?
編集:httpd.confを介して含まれている私のhttpd-mpm.confファイルから
ruby-on-rails - ApacheBenchを正しく使用していますか?
ビデオコントローラー-アクションの表示で、2つのシナリオを試しました。最初のものはを使用increment_counter
し、データベースに直接書き込みます。
2番目のアプローチはこのsave
方法を使用します。
ApacheBenchでは、次のことを行います。
ビデオIDは18ですviews_count
。abを実行するたびに、を介してリセットするようにしてVideo.find(18).update_attribute(:views_count, 18)
ください。
両方のシナリオでApacheBenchを実行した後、100で一貫しています。データベースに直接書き込むため、メソッドよりも正確であるとviews_count
想像しました。increment_counter
save
私は正しくベンチングしていますか?
node.js - 多数の同時接続に苦労している Node.js
私は、10,000 個のクライアントがすべて一度に、3 分ごとにデータを送信しようとする正確なタイミングがとられている、少し変わったアプリケーションに取り組んでいます。この「ab」コマンドは、現実世界の 1 つの弾幕をかなり正確にシミュレートします。
これらの送信を収集するために、rackspacecloud VPS インスタンスの Ubuntu 12.4 で Node.js を使用していますが、すべてのビジネス ロジックを削除して http リクエストを no- op。
テストが約 90% 完了すると、長時間ハングします。不思議なことに、これは一貫して 90% で発生します - c=n=10k の場合、9000 で c=n=5k の場合、4500 で。c=n=2k の場合、1800 です。テストは実際には最終的に完了し、多くの場合、エラーは発生しません。ただし、ab ログとノード ログの両方で、テスト実行の約 80 ~ 90% まで継続的な処理が示され、その後、完了する前に長い一時停止が発生します。
ノードがリクエストを正常に処理している場合、CPU 使用率は通常約 50 ~ 70% です。ハング期間中、CPU は 100% まで上昇します。ときどき 0 近くに留まります。不規則な CPU 応答と、実際の接続数 (% 完了のみ) とは無関係に見えるという事実の間で、私はガベージ コレクターを疑いません。
ローカルホストとリモートサーバーで「ab」を実行してみました-同じ効果です。
おそらく接続を閉じることを含む、TCPスタックに関連する何かが疑われますが、構成の変更はどれも役に立ちませんでした。私の変更:
- ulimit -n 999999
- listen() すると、バックログを 10000 に設定します
sysctl の変更は次のとおりです。
また、カーネルログに次のメッセージが表示される傾向があることにも気付きました。
TCP バックログ キューは決してオーバーフローしないように十分に深くする必要があるため、このメッセージには困惑しています。syn Cookie を無効にすると、「Cookie の送信」が「接続の削除」になります。
これはある種の Linux TCP スタック チューニングの問題であると推測し、ネットで見つけたほぼすべてのものを読みました。私が試したことは何も問題ではないようです。何かアドバイス?
更新: tcp_max_syn_backlog、somaxconn、netdev_max_backlog、および listen() バックログ パラメータを 50k に設定して試しましたが、動作は変わりません。それでも SYN フラッド警告が生成されます。
ruby-on-rails - Apache ベンチマーク multipart/form-data
Apache ベンチマーク ポスト ファイルで奇妙な問題に直面しています。
ファイルのアップロードを処理する機能を強調する必要があります。それで、私はググって、投稿ファイルを適切に構築する方法を説明している投稿を見つけました。その内容は次のようになります。
abラインはこれです:
ab がリクエストを作成すると、生成されるヘッダーは次のようになります。
予想される戻り値は、raise params.inspect であり、データが反対側に到着しているかどうかを確認できます。境界を削除すると、params で受信したデータを確認できますが、これは私が望むものではありません。ファイルのアップロードを取得したい。
誰にもヒントがありますか?本当に感謝します。
php - ローカルサーバーでapacheベンチを使用する
apacheベンチを介してサイトの負荷(サイトはphpに書き込みます)をテストしたいと思います。
私はローカルサーバー(xampp)、OC:ウィンドウを持っています。
ディレクトリapache/benchにファイルab.exeがあります。これは、apachebenchがローカルサーバーにインストールされていることを意味します。
ローカルサイトlocalhost/my_testがあり、このサイトで同時1000要求をシミュレートしたいので、CMDで次のコマンドを記述します。
ab -c 1000 localhost / my_test
CMDからの回答は次 のとおりです。 「ab」は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
教えてください、どこが間違っていますか?
nginx - Very low request per second values as a resut of Apache ab test on nginx server
I am testing my new site on the following setup
* 2 m1.large ec2 instances as web server behind a elastic load balancer
* both webserver has memcache/apc/nginx/php-fpm installed
* 1 m1.large ec2 instance for mongo db
when I run this from a remote server
ab -n 100 http://beta.domain.com/
I get the following results
APC hit rate is around 98%. Also I am checking the memcached log file as I do this test and I can see the ab is hitting both servers and hitting the values on memcached (All hit, no misses). But still RPS value is 0.79. Isn't this very low? Am I missing the point here?
EDIT
Also all static content (css, js, images) are being served from Amazon S3 in gz format and have 1 year expiration date.
*EDIT 2 *
I ran the same test with -c 50
parameter and here is the result
** Load Generation **
I guess ab does that, doesn't it? Sorry, I am quite new to benchmarking :) I also added -c 50
and ran the test again. See the results above.
** Testing page **
This page lists 20 products with image, description etc. Does some backend calculations but results are all cached in memcache, so it never actually hits the database (mongo). I can see this from memcache log file.
** What else **
Here is the result of vmstat
on one of the servers during the ab test
and iostat