web-dev-qa-db-ja.com

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

「高速」と見なされるものに関して、私には参照の枠組みがありません。私はいつもこれを疑問に思っていましたが、まっすぐな答えを見つけたことはありません...

107
capotej

OpenStreetMapには 1秒あたり10-2 があるようです

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

Geographが取得しています 週7000画像 (95秒ごとに1アップロード)

90
OJW

まだ誰もが興味を持っているかどうかはわかりませんが、この情報 Twitterについて投稿されました (および ここも ):

統計

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

ウェブホストのコントロールパネルに移動して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日間で1秒ごとに平均743のmySQLクエリです!

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

13
lkessler

個人的には、毎回行われる両方の分析が好きです....リクエスト/秒と平均時間/リクエストであり、その上に最大リクエスト時間も見るのが大好きです。 1秒あたり61のリクエストがある場合、簡単に反転できます。その後、1000ミリ秒/ 61リクエストに反転できます。

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

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

注:リクエスト/秒分析(ms/requestではない)のおかげで、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にいたと思います。

9
Dean Hiller

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

1.本番アプリケーションの平均リクエスト負荷2.高速と見なされるもの

これらは必ずしも関係しません。

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

a。同時ユーザーの数

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

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

高速と見なされるものについては、..サイトが取得できるリクエストの数が少ないということですか?または、1秒あたりxyz件のリクエストを処理できる場合、ハードウェアが高速と見なされますか?

4
DaveJustDave

通常、ユーザーごとに2秒未満です。つまり、これよりも応答が遅いユーザーは、システムが遅いと思っています。

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

1
gbjbaanb

あなたが見るもの 」のグラフを「スラッシュドット効果分析」で検索できます。 wiki上のこのグラフ

生き残るWebアプリケーションは、すべてのリクエストを処理言語で処理するのではなく、静的ページを生成できる傾向があります。

単一のサーバーを超えてウェブサイトをスケーリングする方法についてのアイデアを備えた素晴らしいビデオがありました(ted.comにあったと思われますか?flickrウェブチームによると思われますか?リンクを知っていますか?)さまざまなタイプのユーザーに最適な効果を得るために、読み取り専用サーバーと読み取り/書き込みサーバーの混合間に接続を割り当てる方法。

1
OJW

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

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

1
OJW