質問

MS SQLを使用してWebフォームとASP.NETを使用しています。

私のウェブサイトでは、これらのコードを保存する必要があります。

  • Google Analytic Code
  • いくつかのJavaScriptコード
  • 私のテンプレートのHTMLフッターとヘッダー。

集中化し、キャッシュを使用し、簡単に更新できるソリューションが必要です。

ここで私のアイデア、私はあなたの意見をお願いします:

  • 01すべてのレコード(VARCHAR)に対して、これらのコードの紡錘を文字列として保存できるテーブル(テーブルを構成)付きのデータベースを使用します。
  • 02特定のフォルダーで簡単なテキストファイルを使用するため、これらのファイルをコードに含めることができます。 FTPとメモ帳を使用してコードを更新できます(ここでは、キャッシュについては懸念があります)。
  • 03 web.confファイルを使用します。
  • 04テキストファイルを使用し、クラスがこれらのファイルのコンテンツをキャッシュして保存することを管理します。

何か案は?御時間ありがとうございます。

ここで、このトピックのハイライトと有用な記事をお願いします。

http://nathanaeljones.com/153/performance-killer-disk-io/

役に立ちましたか?

解決

まず、Nathanael Jonesのブログへの参照リンクに関しては、ディスクIOはメモリ操作よりもはるかに遅く、ほとんどのWebサイトがディスクバウンドではなく、彼のソリューションのほとんどは率直に言って教育を受けていないがらくたです。

一般的に言えば、あなたがディスクIOバインドになる状況は非常に少ないです。 1つ目は、データベースサーバー自体です。データベースの関連部分をメモリに保持するのに十分なRAMがない場合、そのサーバーのディスク速度が重要です。特に高い取引状況で。

第二に、アプリケーションが多くのファイルを直接読み取り、書き込む場合、ディスクIOバウンドにすることができます。これを行うアプリは非常に少ないです。既存のフレームワークとIISによってキャッシュできるため、アプリケーションの.aspxまたは.htmlファイルをカウントしていません。

基本的に、彼を無視してください。

パフォーマンスを向上させる方法としてのファイルシステム全体のアイデアをデータベース同期することは、サイトの約99.999%に価値がありません。データベースが他に何もない場合は、ファイルをWebサーバーファイルシステムにプッシュする必要がありますが、その逆ではありません。私はこれを必要とする20年の開発で正確に1つのサイトを見てきました。彼らは1日に数百万ページのビューを提供しています。また、彼は、ローカルファイルから同等の量のデータをロードするよりも速いネットワーク全体でデータベース呼び出しを行うことについて全く間違っています。

次に、私たちが本当に拘束されている実際の領域は、ネットワークを介してデータをクライアントブラウザーに送信することです。これは、ディスクからファイルを読むよりも常に遅いです。ラインにトラフィックがない場合でも。ハードドライブは、ネットワークカードができるよりもはるかに速くデータを移動します。さらに一歩進んでください。最新のハードドライブは、インターネット接続よりも桁違いに桁違いになります。パフォーマンスを改善するためにできる最善のことは、単一ページのロードが必要な接続要求の数を制限することです。ここでの最適化とは、20ではなく1つのCSSファイルを持つことを意味します。 100ではなく、.jsファイルの参照を2つだけ持っています。グラフィックを実現可能なスプライトに組み合わせます。 TCPの仕組みにより、100個以上の小さなファイルより100個の大きなファイルを転送する方が速いです。

たぶん、オーバーロードされた共有サーバーで そうかもしれない 問題があります。ただし、現実には、オーバーロードされた共有サーバーは、ディスクキューの長さが制御不能になるずっと前にネットワークが混雑します。


それが邪魔にならないように、あなたの実際の問題を見てみましょう。

JavaScriptアイテムには、2つの優先位置があります。1。Webサーバー上の.JSファイルまたは2.マスターページに埋め込まれています。オプション1を実行するだけで、Webサーバーによってキャッシュされます。さらに、それらはクライアントブラウザによってキャッシュされます。つまり、あなたがする必要がないことを意味します

ヘッダーとフッターの場合、これのコードはマスターページにある必要があります。サーバー側を含めないでください、それはただ物事を複雑にします。 「Chrome」コンテンツのマスターページを活用する通常の.NET Webサイトを構築します。アプリケーションレベルでの部分的なページキャッシングを有効にすることができます。これにより、すべてのキャッシュを処理できます。

ヘッダーまたはフッターコンテンツを更新するときは、サイトを再展開するだけです。

他のヒント

ヘッダーとフッターをファイルに保存して使用します サーバー側は含まれます。一部のWebサーバー(IIS 6.0)では、すべてのページにドキュメントフッターを追加できる場合があります。

JavaScriptをファイルに保存し、ページに使用します。これにより、キャッシングが可能になり、ページのパフォーマンスが向上します。

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