プロダクションWebアプリケーションの1秒あたりの「平均」リクエストは何ですか?


120

「高速」と見なされるものに関して、私には基準の枠がありません。私はいつもこれを疑問に思っていましたが、正直な答えは見つかりませんでした...


9
正解はありません。Fastは相対的な用語であり、答えはコンテキストとアプリケーションに大きく依存します。
Dave L.

回答:


104

OpenStreetMapは1秒あたり10〜20のようです

ウィキペディアは300サーバーに広がる1秒あたり30000から70000のようです(マシンあたり1秒あたり100から200のリクエスト、そのほとんどはキャッシュです)

Geographは1週間に7000枚の画像を取得しています(95秒に1回のアップロード)


6
うわー、それはウィキペディアにとってかなり遅い
ジョセフ・ペルシー

8
@JosephPersie投稿日を忘れずにご覧ください。
スペクトル

まだ200,000 /秒未満を示しています-新しい監視ページはgrafana.wikimedia.orgです
OJW

興味深いことに、私はWebpiecesのストリーミングを1秒あたりのレコード数対1秒あたりのリクエスト数で負荷テストしていました。リクエスト/秒は同じボールパーク(100から200)にあると思いますが、ストリーミングを使用すると、1140レコード/秒(ndjsonを実行)まで撃ちます。とにかく、私はもっと多くの数を共有すると思いました。(2つのマイクロサービスを介してインメモリデータベースにストリーミングされてテストされたため、これが変わるかどうかは不明です...まだライブDBでテストする必要があります。nosqlに切り替えない限り、DBがボトルネックになり、ダウン状態に戻る可能性があります)。
ディーンヒラー

50

まだ誰も興味を持っているかはわかりませんが、この情報はTwitterについて投稿されましたここでも同様です)。

統計

  • 350,000人を超えるユーザー。実際の数はいつものように、非常にスーパースーパートップシークレットです。
  • 1秒あたり600リクエスト。
  • 1秒あたりの平均接続数は200〜300です。1秒あたり800接続まで急上昇。
  • MySQLは毎秒2,400リクエストを処理しました。
  • 180のRailsインスタンス。Mongrelを「Web」サーバーとして使用します。
  • 1つのMySQLサーバー(1つの大きな8コアボックス)と1つのスレーブ。スレーブは、統計とレポートのために読み取り専用です。
  • 奇数のジョブを処理するための30以上のプロセス。
  • 8 Sun X4100s。
  • Railsでリクエストを200ミリ秒で処理します。
  • データベースで費やされる平均時間は50〜100ミリ秒です。
  • 16 GBを超えるmemcached。

2
近いブログ記事場合ソースへの1つのステップは、ダウン:highscalability.com/blog/2009/6/27/...
Chinoto Vokro

@ChinotoVokro回答へのリンクも追加しました。ありがとう!
Peter K.

1
@user :-Dはい、今ではかなり歴史的です。でもそれは当時私にとって有用な答えでした!:-)
Peter K.17年

13

ウェブホストのコントロールパネルに移動し、phpMyAdminを開いて[MySQLランタイム情報を表示]をクリックすると、次のようになります。

このMySQLサーバーは、53日間、15時間、28分、53秒実行されています。2008年10月24日の午前4時3分に開始されました。

クエリ統計:起動後、3,444,378,344クエリがサーバーに送信されました。

合計3,444 M
/時2.68 M
/分44.59 k
/秒743.13

これは、過去53日間の毎秒平均743のmySQLクエリです。

あなたのことは知りませんが、私にとっては速いです!とても早い!!


わからない。当時私はIXWebhostingにいて、共有サーバーとしてWindows 32ビットオペレーティングシステムを使用していました。私のmySQLデータベースサーバーは別の専用マシンだったのではないかと思いますが、確かではありません。
lkessler

3
その数は、特定のMySQLサーバーへのすべてのヒットの集計であり、単なるインスタンスではありません-私は間違っているかもしれませんが
warren

@ウォーレン:はい、それはサーバー全体であると想定していました。しかし、1つのSQLクエリに何が含まれているのかを処理ごとに把握し、1秒ごとにその数を処理するのは非常に印象的です。
lkessler 2012年

11

個人的に、私は毎回行われる両方の分析が好きです...リクエスト/秒と平均時間/リクエスト、そしてそれに加えて最大リクエスト時間も見るのが大好きです。61リクエスト/秒の場合、簡単にフリップできます。その後、1000ミリ秒/ 61リクエストにフリップすることができます。

あなたの質問に答えるために、私たちは自分自身で大規模な負荷テストを行っており、それが使用するさまざまなアマゾンハードウェアで範囲を見つけています(最高の値は、$$ /イベント/秒になったときの32ビットミディアムCPU)とリクエスト/秒29リクエスト/秒/ノードから150リクエスト/秒/ノードまでの範囲。

もちろん、より良いハードウェアを提供することで、より良い結果が得られますが、最高のROIは得られません。とにかく、この投稿は私がいくつかの類似点を探していて、他の誰かが探している場合に備えて、自分の番号が野球場と共有鉱山のどこにあるかを確認するのに最適でした。鉱山は私が行けるだけの高さに純粋に荷を積まれています。

注:リクエスト/秒の分析(ms /リクエストではない)のおかげで、Linux(CとJavaでサーバーをテスト)が負荷が大きすぎるとソケットライブラリへのすべての呼び出しをフリーズするという、解決しようとしているLinuxの主要な問題が見つかりました非常に奇妙に思えます。完全な投稿は実際にここにあります。... http://ubuntuforums.org/showthread.php?p=11202389

この問題が修正されると、テストが2分42秒から1分35秒になり、33%のパフォーマンス向上が見られるという点で、パフォーマンスが大幅に向上するため、まだ解決しようとしています。 DoS攻撃が悪いほど、これらの一時停止が長くなるため、すべてのCPUがゼロになり、処理が停止します...私の意見では、サーバーの処理はDoSに直面しても継続する必要がありますが、何らかの理由で時々フリーズしますDosの最中に最大30秒になることがあります!!!

補足:実際にはjdkの競合状態のバグであることがわかりました...大きなクラスターで分離するのは難しいですが、1つのサーバーと1つのデータノードを実行し、そのうちの10つを実行すると、毎回それを再現してサーバーを見るだけでした。 / datanode発生しました。jdkを以前のリリースに切り替えると、問題が修正されました。私たちはjdk1.6.0_26を使用していました。


4

それは非常にオープンなリンゴからオレンジのタイプの質問です。

あなたが求めているのは1.本番アプリケーションの平均リクエスト負荷2.何が高速と見なされるか

これらは必ずしも関連していません。

1秒あたりの平均リクエスト数は、

a。同時ユーザー数

b。1秒あたりのページリクエストの平均数

c。追加リクエストの数(つまり、ajax呼び出しなど)

高速と見なされるものについては、サイトが受け取ることができるリクエストの数はどのくらいか?または、ハードウェアが1秒あたりxyzの要求数を処理できる場合、そのハードウェアが高速であると見なされますか?


1

ヒット率グラフは正弦波パターンであり、「ピーク時間」はユーザーが眠っている間に得られる率の2倍または3倍になる可能性があることに注意してください。(毎日のバッチ処理をサーバーで実行するようにスケジュールする場合に役立ちます)

ウィキペディアのような「国際」(多言語、ローカライズ)サイトでも効果を確認できます


1

通常、ユーザーあたり2秒未満-つまり、これがシステムが遅いと考えるよりも遅い応答が表示されるユーザー。

接続したユーザーの数を教えてください。


1

あなたはのグラフは、「スラッシュドット効果分析」を検索することができますあなたが見るもの例えば、サイトのいくつかの局面は、突然のニュースに人気となった場合には、このグラフは、ウィキに

存続するWebアプリケーションは、すべての要求を処理言語で処理する代わりに、静的なページを生成できる傾向があります。

単一のサーバーを超えてWebサイトをスケーリングする方法、たとえば、どうやって読み取り専用サーバーと読み取り/書き込みサーバーの組み合わせに接続を割り当て、さまざまなタイプのユーザーに最適な効果をもたらします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.