質問

次のアプリケーションに最適な設定を教えてください:

ASP.NET 3.5 Webサイト-プレゼンテーションレイヤー、多くのAJAXおよびJSとして使用されます。サーバーにはあまりヒットしません。

ASP.NET WCF-すべてのデータをアプリケーションに提供するサービス。検証、データモデリング/準備、およびDBサーバーとの通信を担当します。

データベース-SQL Server 2005標準。一部のロジックは、ストアドプロシージャとしてサーバー側でコーディングされます。一部のロジックは少し時間がかかる場合があります。私の意見では、アプリの中で最もリソースを消費する部分です。

ウェブサイトには、毎分最大1000人のユーザーを含めることができます。 Intel Bi Xeon Quad 8x 2.00+ GHz、16 GB RAM、SSDまたはRAIDドライブの構成では、最大4台のサーバーを使用できます。

アプリケーションの一部を物理サーバーに配置する最良の方法は何ですか?彼らはこの種の負荷を処理しますか?

役に立ちましたか?

解決

説明したアプリケーションでは、スレッド管理が大きな問題になると思われます。問題にハードウェアを投げることは最良のアプローチではないかもしれません。

パーティショニングに関しては、キャッシュやキャッシュ通知などを活用できるかどうかに依存します。アプリを呼び出すたびにDBにアクセスし、長いストアドプロシージャを実行する必要がある場合は、DBマシンを増やし、フロントエンドWebサーバーを減らしたい場合があります。

これは大きな課題です。まさにこの種の質問にかなり包括的な答えを提供しようとして、私はそれについての本を書くことになりました: Ultra-Fast ASP.NET:ASP.NETとSQL Serverを使用して、超高速および超拡張可能なWebサイトを構築します

他のヒント

どのアプリケーションでも拡張性の低い場所はデータベースサーバーです。Webサーバーとアプリケーションサーバーを追加できますが、DBを同じように簡単に複製することはできません。長期実行ロジック。多くのアプリケーションの制限要因はCPUではありませんが、ユーザーごとに1MBのデータを保存する場合、アプリケーションはマシンとの64,000のsilmantaniusユーザーセッションをサポートできますが、メモリはユーザーセッションについて考えます。両方の問題は、アプリケーションレベルのキャッシュを使用することで軽減できますが、古いデータに直面したため、これにより一連の問題が発生する可能性があります。セッションベースのサイトをスケーリングするには、スティッキーセッションをサポートするスマートロードバランサーソリューションを使用する必要があります。負荷については、ほとんどの場合、ハードウェアロードバランサーが必要になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top