トラフィックの多いトラフィックはどれくらいですか?大量のトラフィックのWebサイト開発について学ぶための最良のリソースは何ですか?どのようなアプローチですか?大量のトラフィックを処理する方法を学習するためのリソースasp.net mvc site?
6
A
答えて
9
任意のWebサイトに適用原則、基礎となるスタックの無関係なのがたくさんあります:
- HTTPキャッシング機能を使用しています。 1つはユーザエージェントキャッシュです。第二に、Webバックボーン全体があなたの要求をキャッシュすることができるプロキシでいっぱいですので、これを最大限に活用してください。あなたのサーバーに着陸するリクエストでも負荷が0になります。それ以上に最適化することはできません。
- 上記の点では、静的コンテンツにCDN(Content Delivery Network、CloudFrontなど)を使用してください。 CSS、JPG、JS、静的HTMLなど、多くのページをCDNから提供することができ、WebサーバーをHTTPリクエストから保護することができます。
- 最初のポイントに2番目の結果:動的コンテンツに有効期限のキャッシュヒントを追加します。 10秒のようなキャッシュ寿命が短い場合でも、クライアントとサーバーの間にあるすべてのプロキシからのヒットが大幅に節約されます。
- HTTPリクエストの数を最小限に抑えます。基本的なものと思われますが、おそらく最も見逃しやすい最適化です。実際、Yahooのベストプラクティスはこれを最上位の最適化としています。Best Practices for Speeding Up Your Web Siteを参照してください。
- HTTPが
- 使用するコンテンツ配信ネットワーク
- 期限切れになるかのCache-Controlヘッダー
- をGzipコンポーネント
- が...(リストがある追加を要求最小化:ここではその賭けの実践のリストですかなり長い実際には、単に上記のリンクを読んで)今
あなたはpossiな限り排除した後、余分なヒットを避けるためには、依然としてサーバーに実際に要求された要求を最適化する必要があります。あなたのASPコードが実行を開始すると、すべてがデータベース要求と比較して見劣りします:
- ページあたりDB呼び出しの回数を減らします。可能な限り最適な最適化は、明らかに、DBへの要求をまったく開始しないことです。ページあたりの読み込み回数が4回で、1回の書き込みが最も負荷の高いサーバーで処理する必要があり、ページごとに1回のDB呼び出しがあり、ページあたり10回の呼び出しでもOKと言うユーザーがいます。要点は、より多くのものが常により良いことであり、書き込みは読み込みよりもはるかにコストがかかるということです。あなたのUIデザインを見直し、おそらく誰も見ないことをページの隅にそのヒット数が正確な...
- を使用すると、SQLサーバーに送信するすべての単一のDB要求がに最適化されていることを確認していることである必要はありません。 。それぞれのクエリプランを確認し、適切なcovering indexesがあることを確認し、テーブルスキャンを行わずに、clustered index design戦略を確認し、すべてのIO負荷、ストレージ設計などを確認します。あなたは彼女を取ることができるショートカット、あなたはデータベースの地獄を分析し、最適化する必要があります、はあなたのchockingポイントになります。
- 競合を解消。読者がライターを待たせることはありません。あなたのスタックの場合、SNAPSHOT ISOLATIONは必須です。
- キャッシュ結果。そして、これは通常、クッキーが崩壊したことです。良いキャッシュを設計することは実際には非常に困難です。 Facebook SOCCの基調講演:Building Facebook: Performance at Massive Scaleをご覧になることをお勧めします。スライド47のどこかに、典型的な内部Facebook APIの外観を示します。
cache_get (
$ids,
'cache_function',
$cache_params,
'db_function',
$db_params);
すべては、キャッシュから要求され、見つからない場合は、自分のMySQLバックエンドから要求されます。あなたはおそらく60000 serversの考えで始まらないでしょう:)
SQL Serverスタックでは、最良のキャッシュ方法はQuery Notificationsに基づいています。 ほとんどと混ぜてLINQ ...
4
大量トラフィックを、トラフィックを集中的に処理するトラフィックとして定義します。つまり、1つのWebリクエストで複数のSQL呼び出しがトリガーされた場合や、piが多数の小数で計算された場合、重いです。
静的なHTMLを返す場合、今日の良いサーバーが扱えるもの(多かれ少なかれ)よりも帯域幅が問題になります。
MVCを使用しているかどうかに関係なく、原則は同じです。スピードを最適化するためには、
- 以上のサーバーなど
- 利用高価である
- キャッシュデータ (キャッシュをより簡単に追加することになり )データ検索のためのリポジトリ パターンを追加することにより、 が拡大することが容易になりデカップリングアーキテクチャを有します
- に書き込まれるデータは、 キャッシュを介して書き込まれるため、クライアントには がないため、実際のデータバスを待つことはできませんe コミット
さらに多くの基本ルールがあります。おそらく、アプリケーションのアーキテクチャーと、計画する必要がある負荷の量について何かを言うことができますか?
0
MSDNにはいくつかのリソースがあります。 This particular articleは古いですが、開始です。
私は、MVCスタックについて読んで自分自身を制限することも勧めません。多くの原則はクロスプラットフォームです。
関連する問題
- 1. asp.net mvcでajaxを使用する方法を学習するためのリソース?
- 2. asp.net MVC 3でTDDを学習するためのリソース
- 3. Spring.NETを学習するためのリソース
- 4. jQueryを学習するためのリソース
- 5. MSDeployを学習するためのリソース
- 6. MVCで大量のJsonデータを処理する方法は?
- 7. ASP.NET MVCで膨大な数のドロップダウンを処理する方法
- 8. ASP.Netを学習するための多くの例を持つリソース
- 9. ASP.NET用Sqlメンバーシップ、学習リソース
- 10. 大量のトラフィックのためのデザインガイドライン
- 11. LINQの学習のためのリソース?
- 12. 学習のための本ASP.NET MVC3
- 13. JavaとSolrを学習するための優れたJavaリソース
- 14. カテゴリ学習のためのリソース
- 15. mongodbとmongoidのための学習リソース
- 16. 機械学習で欠損データを処理する方法は?
- 17. ディープ学習画像処理サーバを構築する方法
- 18. 機械学習で長いオーディオクリップを処理する方法は?
- 19. Gradleビルドツールを学習するための最善のリソース
- 20. tiのアセンブリを学習するためのリソースMSP430G2553
- 21. asp.net mvcアプリケーションから大量のSMSを送信する方法
- 22. WebオーディオAPIを学習するためのリソース
- 23. NoSql/Non-Relationalデータベースを学習するためのリソース
- 24. Javaジェネリックを学習するためのリソース?
- 25. C#とWPFで自動テストを学習するためのリソース
- 26. Spring、HibernateでJava EEを学習するためのリソース
- 27. ASP.NET MVC:ビューの処理量とヘルパーメソッドを使用する時間
- 28. 大量の保留中の要求を処理する方法
- 29. ASP.NET MVC 3 - ビュー内のモデルを処理するためのベストプラクティス
- 30. SharePointの学習を始める方法
+1興味深いです。 –