ウェブサーバーで処理できるリクエストの数はいくつですか?


39

これに対する本当の答えはないことがわかっているので、仕様の詳細には触れません。しかし、私は今日ab、Apache のコマンドを使用して負荷テストを行っています。

4つの異なるDBテーブルから読み込み、データを操作するページで、1秒あたり70リクエスト(100同時ユーザーで1000リクエスト)に達しました。そのため、かなり重いページです。

サーバーは現在のところ、他の用途には使用されておらず、開発中のため、負荷は私だけです。しかし、アプリケーションは多くのユーザーによって毎日使用されます。

しかし、これで十分ですか?または私は心配する必要があります(それがXリクエストを超えている限り)

私は心配する必要はないと思っていますが、これに関するいくつかのヒントが欲しいです。

回答:


44

1秒あたり70リクエストで、1時間あたり252,000ページレンダリングの時間レートになります。

サイトの平均ブラウジングセッションが10ページの深さであると仮定した場合、25,000ユニーク/時間をサポートできます。

おそらく、これらの数字を予想される訪問者数と照合する必要があります。これはビジネス側の人々から入手できるはずです。

私が取り組んでいるサイトの多くは、毎日約3時間のピーク期間に1日のトラフィックの約50%を見ています。これがサイトの場合(提供するコンテンツの種類とオーディエンスによって異なります)、1日あたり約150,000のユニークアクセス数をサポートできるはずです。

これらはかなり良い数字です。あなたは大丈夫だと思う。オペコードキャッシングとデータベースチューニングを検討するのは賢明ですが、時期尚早な最適化がすべての悪の根源であることを忘れないでください。サイトを監視し、ホットスポットを探して、トラフィックが増加するのを待ってから、自分が抱えていない可能性のある問題に対して高額な最適化作業を行います。


非常に良い答え、まさに私が探していたもの。最適化を行っていないので、現在の位置を確認するためにベースライン番号を取得したかった
オーラファーワー

「サイトの平均ブラウジングセッションが10ページの深さであると仮定すると、25,000ユニーク/時間をサポートできます」...すべてのユニークがセッション中に毎秒リクエストを送信するという仮定の下で。訪問者が次のクリック/リクエスト(たとえば5秒)の前に考える必要がある場合、並行セッションでより多くの訪問者をサポートできます。
Jochem Schulenklopper

コードの観点から、「時期尚早な最適化」については完全に同意します。しかし、全体として欠陥のあるデザインを選択することは、実際にはすべての悪の根源です。書き換えを除いて、欠陥のあるデザインを克服できるものはありません。
ジェフフィッシャー

5

過去にapacheサーバーのパフォーマンス監視するために2つのツールを使用しました。

1つはmuninです。これは、Apacheインスタンスの数、接続の数、使用可能なメモリ、プロセッサの使用状況など、あらゆる種類のものをグラフ化し、危険ゾーンに近づいている時期とその理由を判断するのに役立ちます。

2つ目は単純にapache server-statusページhttp:// your_server / server-status?refresh = 10)で、各接続の状態と、任意の時点で使用可能な空き接続の数を確認できます。


1

アプリが地面に落ちたときに非常に忙しいと思う場合にのみ、心配することをお勧めします。問題のページはそれほど激しくヒットする可能性がありますか?もっと強く?もっと少なく?わからない場合は、それが問題になる可能性は低いと思われます。最も遅いページの場合は、後でシステムを最適化する必要があるかどうかを確認する場所がわかります。

また、ほとんどのWebサーバーとデータベースエンジンを調整してパフォーマンスを向上させるためにできることもたくさんあります。


たとえば、非常に高速なページで1秒あたり約110のリクエストを処理できるなど、少しのリクエストの急増に備えたいと思います。サーバーは空のページで2900 rpsを処理できます。
オーラファーワー

0

サーバーは、空のページで1秒あたり2,900のリクエストを処理できるとコメントに述べています。これは、ウェブサーバー自体ではなく、処理であることをかなり強く示しています。

PHPを使用している場合は、APCのようなオペコードキャッシュを検討してください。DBがボトルネックの場合、memcachedも役立ちます。


70 rpsで十分な場合、数値は特に心配しません。
オーラファーワー

0

サイトを公開したら、Apacheの現在の負荷をリアルタイムで確認できるmod_top 1を確認することもできます。自分でインストールしたことはありませんが、確かに標準のApacheサーバーのステータスよりも多くの情報と負荷の内訳があるようです。

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