ASPは、HTMLページに埋め込まれたスクリプトプログラムが実行できる環境です。 ASPプログラムを最適に実行するのは簡単ではありません。それでは、ASPアプリケーションのパフォーマンスをどのように完全に最適化するのでしょうか?次に、ASPアプリケーションのパフォーマンスの最適化を見てみましょう。
現在、中国のネットワーク帯域幅は非常に限られており、ネットワークは非常に混雑しています。 ASPアプリケーションを迅速に実行する方法は、すべてのASPプログラマーの夢になりました。次に、ASPプログラムをスピードアップするために私に従ってください!
1。データベースを操作するための最適化方法
ASPの使用の主な目的は、データベースを操作することです。これらのアクションをより迅速に完了する方法は?
1.「select *...」を任意に使用しないでください
必要なフィールドを拾ってみてください。たとえば、テーブルには10のフィールドがありますが、そのうちの1つ(名前)のみを使用し、「select*fromyourtable」の代わりに「selectnamefromyourtable」を使用します。あなたは言うかもしれませんが、これは私がそれをした方法ですが、テーブルに50のフィールドがあり、23のフィールドを使用する必要がある場合、あなたは何をしますか?タイピングと対応するフィールド名を見つけるトラブルを救うために、「SelectName、Sex、Age ... fromYourtable」を正直に使用していないかもしれません!
実際、SELECTステートメントを使用する必要があるフィールドをピックアップしようとすると、ASPプログラムでは少なくとも5%高速になります。
2。システムストアドプロシージャを可能な限り使用します(MSSQLServerの場合)
SQLステートメントとストアドプロシージャを使用して、読み取り操作を完了することがありますが、ストアドプロシージャを使用すると、読み取り操作が大幅に高速化され、ASPプログラムが実行される速度が向上します。
3.カーソルの使用方法に注意してください
テーブルを読んでいるだけの場合は、このカーソルがデータベースを読むのが最速であるため、特に大量のデータを読むときは、フォワード専用の読み取り専用カーソルを使用してください。
4.役に立たない独立したレコードセットを開かないでください
たぶんあなたは笑っています、私は役に立たないレコードセットを開きますか?はい、もちろん、たとえば、ツリーレコードセットを生成するときは、親レコードセットと対応する子のレコードセット、さらにはグランドレコードセットを開く必要があります。実際、ADOが提供するDataShapingテクノロジーを使用して、複数の独立したレコードセットを開設することで、プログラムの実行速度を高速化することができます。 (DataShapingの使用については、ADOヘルプを参照してください)
5.オープンレコードセットオブジェクトと接続オブジェクトを必ず閉じてください。
一部の友人は、なぜ彼らのASPプログラムが最初に非常に速く実行されるのか疑問に思っていますが、それをさらに数回実行すると遅くなり、遅くなりますか?サーバーもクラッシュします。これは起こりますが、あまりにも多くのレコードセットオブジェクトと接続オブジェクトを開き、最終的にそれらを閉じていない可能性があります。次の方法を使用して閉じます。
yourrecordset.close
setyourrecordset = Nothing
SetYourConnection = Nothing
6.データベースデータを取得する方法の比較
レコードセットからデータをどのように取得しますか? Recordset(フィールド番号)を使用していますか?
yourrecordset( "フィールド名")?実際、それを使用する他の方法があります。今それを比較しましょう(100レコード):
rs( "フィールド名")
rs( "フィールド名")。値
rs( "フィールド番号")
メソッドを設定します
データベース応答時間
2.967秒
2.936秒
1.650秒
0.586秒
2.824秒
2.914秒
1.611秒
0.602秒
2.893秒
2.943秒
1.613秒
0.594秒
平均応答時間
2.895秒
2.931秒
1.625秒
0.594秒
今、私は知っています。誰もが最初の3つの方法を理解できます。 4番目の方法(セットメソッド)の使用方法について説明します。
プログラムコード
dimstrsql
strsql = "selectname、sex、agefromyourtable"
薄暗い
setrs = server.createObject( "adodb.recordset")
rs.openstrsql、conn、1,1
constfieldsorder = 2
dimobjorder
setobjorder = rs(fieldsorder)
respons.writeobjorder 'セットメソッド
2。組み込みのASPオブジェクトを使用するための最適化方法
1.セッションオブジェクトとアプリケーションオブジェクトの使用を最小限に抑える
ASPで提供されるこれらの2つのオブジェクトは、プログラミングに非常に役立ちますが、これらの2つのオブジェクトは合理的に使用され、乱用されない必要があります。これらの2つのオブジェクトを大量に使用すると、サーバーの負担が大幅に増加し、システムリソースを真剣に消費するためです。また、ASPプログラムは古い牛と同じくらい遅くなります。
2。タイムリーに使用されなくなったオブジェクトを閉じる(特にセッションとアプリケーション)
使用しているオブジェクトを閉じないと、システムがゆっくりと実行されます。多分あなたは尋ねるでしょう、
セッションとアプリケーションが自動的に消えることができませんか?それは完全に正しいです。システムは、30分以内に操作がない場合、session_onendおよびapplication_onendイベントが自動的にトリガーされることをデフォルトします。ただし、多数のユーザーがサーバーを頻繁に読み取り、サーバーは長い間役に立たないユーザーを維持します。
セッション、アプリケーションオブジェクト。時間内に閉じられていないセッションとアプリケーションが想像を絶するものになります。
閉じる方法は次のとおりです。
Object = Nothingを設定します
3.使用してファイルを合理的に含めます
ここで話しているのは使用していますフォームに含まれるファイル、およびファイルコンテンツはすべてASPプログラムです。つまり、パブリック関数をファイルに入れて、関数を呼び出す可能性のある他のページに含めることです。
このファイルを他のページに含める場合、サーバー側はそれを事前コンパイルする必要があるため、すべての機能をインクルードファイルに配置するわけではありません。インクルードファイルには何百もの機能がある可能性が非常に高いため、そのいずれかを使用するだけでなく、努力する価値がありません。そのため、インクルードファイルをできるだけ分割して、複数の小型ファイルに分割します。これにより、プログラムの実行速度も向上できます。
4。VBScript言語の最適化方法
1.書いた関数の代わりにシステム機能を使用してみてください
たとえば、通常の文字列( "SSS、DDD、FFFF、GGG")を分割する場合、Mid()、Instr、およびその他の機能を使用して分析する必要はありません。実際、VBScriptは関数分割()を提供し、時間を節約し、速度を向上させます。どうしてそれをしないの?
2。動的配列の使用を減らします
3.可能な限り事前に変数を宣言する習慣を開発する
この記事を過小評価しないでください。変数を事前に宣言すると、プログラムの解釈の実行時間が高速化されます。それどころか、変数を宣言することは決して読みにくいだけでなく、サーバー上のプログラム全体の実行効率も大幅に削減されます。
5。その他の最適化方法
1. <%%>を使用して、respons.writeを使用する代わりに、ASPファイルのHTMLタグに埋め込むようにしてください。
プログラムコード
<%ifok = 1then%>
こんにちは世界!
<%endif%>
それははるかに多い:
<%
Response.Write "
「
Response.Write "
「
ifok = 1then
Response.Write「こんにちは!世界!」
endif
Response.Write ""
Response.Write ""
%>
特にASPファイルが比較的大きい場合は、ランニング速度が高速でなければなりません。 2番目の方法により、サーバー側の解釈時間が増加し、ASPプログラムのパフォーマンスが低下するためです。
2。ASPファイルでアクションを完了してみてください
多くの人々は、ASPプログラムの追加、削除、検索などの複数のアクションを同時に完了することを好みます。これがファイルを利用するのに効果的であるとは思わないでください。それどころか、これの結果は、アプリケーションの実行速度を大いに遅くすることです。
追加、削除、検索など。完了するために単一の独立したASPファイルに分割する必要があります。これにより、ファイルが大きすぎることがなくなり、サーバー側の解釈と実行の負担を軽減し、プログラムを非常に迅速に読み取ります。
ASPアプリケーションのパフォーマンスの最適化が導入されました。包括的な最適化の後、ASPアプリケーションはより安定して速く実行されていますか?