4

私は小さなデータ駆動型のWebサイトを作成する方法を知っていますが、大きなデータフローを処理するためにそれらを変換する方法についてのアイデアを得たいと思っています。

質問は、スタックオーバーフロー、クレイグリストなどのように機能するサイトに基づいており、人々は投稿したり、他の人が返信したりでき、タグに基づく基本的な検索機能を備えています。

  1. SQLサーバーやOracleなどの通常のリレーショナルデータベースは、大量のデータの読み取りと書き込みをサポートするのに十分な強度がありますか?

  2. 専用の単一サーバーでホストされているサイトがある場合、一般的にどのくらいのトラフィックを処理できると期待できますか?

  3. 中規模から大規模のアプリケーションを作成するときに考慮する必要のある一般的な設計ルールや問題はありますか?

4

4 に答える 4

4
  1. 優れたキャッシング戦略と適切に記述されたSQLステートメントがあれば、RDBMSで十分です。

  2. 簡単な答えはそれが依存するということです。このトピックについては、ここで良い議論があります。

  3. この投稿を確認することから始めることをお勧めします。基本的なコーディング方法に従うだけで、コードをよりスケーラブルにすることができます。

于 2010-08-03T02:36:57.483 に答える
2
  1. はい。ただし、クエリを賢く記述し、キャッシュを利用してください。
  2. ハードウェア、OS、およびWebサーバーによって異なります。
  3. 3層アーキテクチャを確認してください。
于 2010-08-03T02:35:02.137 に答える
1

Re#2:Siegeまたは関連するWebベンチマークツール(Apache ab、perfmon、shellスクリプトなど)を使用して、サーバーから問題を解決してレポートを作成します(Siegeは実際のユーザーと同じように動作するため、実際にお勧めします)。サーバーが実際に溺れる前に、サーバーが処理できる内容の実際のメトリックを取得できるようになります。1秒あたりのリクエスト数、同時ユーザー数、応答時間、帯域幅使用量などです。

確かに、設計段階にいるときは、それはあまり役に立ちません。その場合は、同様の概念を持つ少数のOSS Webアプリをインストールし、最初にそれらをハンマーで叩きます。変数が非常に多いため、概算にすぎませんが、数値を空中から引き出すよりはましです。

于 2010-08-03T07:33:37.667 に答える
0

さて、他の2人はすでにキャッシングとSQLクエリのアドバイスで私を打ち負かしました。私がお勧めする他のことは、AJAXとクライアント側の検証を使用して、ページ全体の読み込みとサーバーのポストバックの量を減らすことです。

于 2010-08-03T03:29:10.210 に答える