厳密に制御セッション
セッション(ヘルプスクリーン、訪問者エリアなど)を必要としないコンテンツは、セッションを閉じるスタンドアロンASPアプリケーションに移動できます。基本ページでは、ASPにセッションを必要としないように指示を与えることができます。次のコードをASPページのヘッドに直接追加します。
<%@enablessessionState = false%>
キャッシュは、Webサーバーで頻繁にデータを使用しています
通常、ASPページはバックグラウンドストレージからデータを取得し、結果をハイパーテキストマークアップ言語(HTML)の形式で形成します。データベースの速度に関係なく、バックグラウンドストレージデバイスからよりもメモリからデータを取得する方がはるかに高速です。ローカルハードドライブからデータを読むことも通常非常に高速です。したがって、メモリまたはローカルハードディスクでキャッシュされているかどうかにかかわらず、サーバー上のデータをキャッシュすることにより、パフォーマンスを向上させることができます。
キャッシュは、古典的な「時間のための空間」妥協です。適切にキャッシュされた場合、大幅なパフォーマンスの改善を確認できます。キャッシュを効果的にするためには、キャッシュされたデータがしばしば再利用され、計算が面倒であることを確認する必要があります。古いデータで満たされたキャッシュは、メモリの無駄です。
頻繁に変更されないデータは、これらのデータをいつでも更新した後に同期操作を考慮する必要がないため、キャッシュに適したオブジェクトです。コンボボックス、リファレンステーブル、DHTMLコード、拡張マークアップ言語文字列、メニュー、およびサイト構成変数(データソース名、インターネットプロトコルアドレスIPS、およびWebパスを含む)はすべて良いキャッシュオブジェクトです。注:データ式は、データ自体の代わりにキャッシュされます。 ASPページが頻繁に変更され、キャッシュに苦労している場合(製品カタログ全体など)、リクエストが発生するたびにHTMLを説明する代わりに、HTMLを事前に生成することを検討する必要があります。
アプリケーションまたはセッションオブジェクトで頻繁に使用されるデータをキャッシュします
ASPのアプリケーションおよびセッションオブジェクトは、メモリ内のキャッシュデータの便利なコンテナです。 HTTP呼び出し中にメモリのままになるアプリケーションおよびセッションオブジェクトにデータを割り当てることができます。セッションのデータはすべてのユーザー向けであり、アプリケーションのデータはすべてのユーザーが共有します。
アプリケーションとセッションでデータをいつロードする必要がありますか?通常、データは、アプリケーションが開始されるか、セッションが開始されるときにロードされます。現時点でデータをロードするには、それぞれStart()OnStart()ONSTART()をアプリケーションに適切なコードを追加します。これらの関数はファイルGlobal.ASAにあり、存在しない場合は追加されます。また、初めて必要なときにデータを呼び出すことも、ASPページにコードを追加して、データが存在するかどうかを確認することもできます。発見されていない場合は、それを呼び出してください。以下は、「Lazy評価」と呼ばれる古典的なパフォーマンス処理手法を表す例です。必要になるまで、計算に進みます。
頻繁に使用されるデータをスクリプト変数にコピーします
ASPでcomオブジェクトにアクセスするときは、頻繁に使用されるオブジェクトデータをスクリプト変数にコピーする必要があります。これにより、Comオブジェクトへのメソッド呼び出しが削減されます。これらの呼び出しは、スクリプト変数にアクセスするよりも比較的時間がかかり、面倒です。このトリックを使用すると、コレクションおよび辞書オブジェクトにアクセスすると、高価なルックアップ操作も削減されます。
一般に、オブジェクトデータに複数回アクセスする場合は、データをスクリプト変数、主に要求変数(フォームおよびクエリ文字列変数)に配置する必要があります。たとえば、サイトは、userIDと呼ばれるクエリ文字列変数を渡したいと考えています。特別なページで12回参照されると仮定すると、リクエスト( "userid")を12回呼び出す必要はありません。 useridをASPページのヘッダーに割り当ててからページで使用するだけで、これにより11個のコールがcomメソッドに節約されます。