Saat membuka halaman asp, halaman tersebut perlu mengakses database, dan kemudian menampilkan konten yang memenuhi persyaratan pada halaman tersebut. Jika terdapat banyak record dalam database, kecepatan akses halaman akan relatif lambat. Cara berikut dapat digunakan untuk meningkatkan kecepatan akses halaman.
Tip satu: Tingkatkan efisiensi penggunaan koleksi Permintaan
Mengakses koleksi ASP untuk mengekstrak nilai adalah proses yang memakan waktu dan intensif secara komputasi. Karena operasi ini melibatkan serangkaian pencarian melalui koleksi terkait, operasi ini jauh lebih lambat dibandingkan mengakses variabel lokal. Oleh karena itu, jika Anda berencana menggunakan nilai dalam kumpulan Permintaan beberapa kali pada halaman, Anda harus mempertimbangkan untuk menyimpannya sebagai variabel lokal.
Misalnya tulis kode pada form berikut untuk mempercepat pemrosesan script engine:
Copy kode kodenya sebagai berikut:
strTitle=Permintaan.Formulir("Judul")
strNamaDepan=Permintaan.Formulir("Nama Depan")
strLastName=Permintaan.Form("Nama Belakang")
Jika Len(strTitle) Maka strTitle=strTitle & " "
Jika strFirstName="" Kemudian strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Lalu
strFullName=strJudul & strNamaPertama & ". " & strNamaTerakhir
Kalau tidak
strFullName=strJudul & strNama Depan & " " & strNama Terakhir
Akhiri Jika
Tip 2: Akses langsung koleksi yang sesuai
Jika Anda tidak punya pilihan, jangan gunakan strPage=Request("page") untuk mendapatkan parameter, karena ini akan mencari seluruh koleksi secara berurutan - QueryString, Form, Cookies, ClientCertificate, ServerVarible hingga kecocokan pertama ditemukan. nilai. Melakukan hal ini kurang efisien dibandingkan mengakses koleksi yang sesuai secara langsung, dan tidak aman kecuali ada jaminan mutlak bahwa nilainya tidak akan muncul di koleksi lain.
Misalnya, Anda mungkin ingin mencari nama server WEB yang memenuhi permintaan klien. Hal ini dilakukan dengan mencari "SERVER_NAME" di koleksi Request.ServerVarables yang muncul di setiap kueri. Namun, jika koleksi lain juga berisi nilai bernama "SERVER_NAME" (nama kunci tidak peka huruf besar-kecil), Anda akan mendapatkan hasil yang salah saat menggunakan Request("server_Name"). Singkatnya, koleksi yang sesuai harus diakses secara langsung bila memungkinkan.
Tip 3: Gunakan properti Response.IsClientConnected sebelum operasi yang memakan waktu
Menggunakan Response.IsClientConnected adalah cara yang berguna untuk mengamati apakah pengguna masih terhubung ke server dan memuat halaman web yang dibuat oleh ASP. Jika pengguna memutuskan sambungan atau berhenti mengunduh, kita tidak perlu lagi membuang sumber daya server untuk membuat halaman web karena konten buffer akan dibuang oleh IIS. Jadi, untuk halaman yang memerlukan banyak waktu untuk menghitung atau menggunakan banyak sumber daya, ada baiknya memeriksa di setiap tahap apakah pengunjung sedang offline:
Copy kode kodenya sebagai berikut:
… Kode untuk membuat bagian pertama halaman
Jika Response.IsClientConnected Lalu
Respon. Siram
Kalau tidak
Respon.Akhir
Akhiri Jika
… Kode untuk membuat bagian halaman berikutnya
Tip 4: Optimalkan operasi ADO di ASP
Secara umum, data merupakan konten sebenarnya dari situs WEB. Oleh karena itu, sangat berguna untuk mengoptimalkan operasi ADO untuk mempercepat eksekusi kode ASP:
a. Pilih hanya kolom yang diperlukan: Saat membuka recordset ADO, Anda tidak boleh secara otomatis menggunakan nama tabel (yaitu SELECT *) kecuali Anda perlu mendapatkan semua kolom. Menggunakan kolom terpisah berarti jumlah data yang dikirim ke atau diambil dari server berkurang. Bahkan jika Anda perlu menggunakan semua kolom, memberi nama setiap kolom satu per satu akan menghasilkan performa terbaik, karena server tidak harus menafsirkan nama kolom.
b. Gunakan prosedur tersimpan bila memungkinkan. Prosedur tersimpan adalah program yang telah dikompilasi sebelumnya yang berisi rencana eksekusi yang telah disiapkan, sehingga dieksekusi lebih cepat daripada pernyataan SQL.
c.Gunakan pola kursor dan kunci yang sesuai. Jika yang Anda lakukan hanyalah membaca data dari kumpulan data dan menampilkannya di layar, maka gunakan kumpulan data default hanya-baca dan hanya-teruskan. Semakin sedikit pekerjaan yang harus dilakukan ADO untuk memelihara rincian catatan dan kunci, semakin tinggi kinerja yang dilakukannya.
d.Gunakan variabel objek. Cara pasti untuk meningkatkan kinerja saat melakukan iterasi pada kumpulan data adalah dengan menggunakan variabel objek untuk menunjuk ke anggota koleksi. Misalnya:
Copy kode kodenya sebagai berikut:
Meskipun Bukan RsGc.EOF
Respon.Tulis "Nama proyek:" & RsGc("GcMC") & "(Kode proyek:" & RsGc("GcCode") & ")"
RsGc.MoveNext
Pergi ke
Ini dapat ditulis ulang sebagai kode berikut untuk mempercepat eksekusi:
Copy kode kodenya sebagai berikut:
atur GcMc=RsGc("GcMc")
atur GcCode=RsGc("GcCode")
Sementara Bukan Respon rsGc.EOF. Tulis "Nama proyek:" & GcMc & "(Kode proyek: " & GcCode & ")"
RsGc.MoveNext
Pergi ke
Kode baru menetapkan referensi ke variabel objek, sehingga variabel objek dapat digunakan sebagai pengganti variabel sebenarnya, yang berarti mesin skrip memiliki lebih sedikit pekerjaan yang harus dilakukan karena indeks ke dalam koleksi lebih sedikit.
Tip 5: Jangan mencampur mesin skrip
Kita tahu bahwa VBScript dan JScript dapat digunakan di halaman ASP. Namun tidak disarankan menggunakan JScript dan VBScript secara bersamaan di halaman yang sama. Karena server harus membuat instance dan mencoba melakukan cache dua (bukan satu) mesin skrip, hal ini meningkatkan beban pada sistem sampai batas tertentu. Oleh karena itu, demi alasan kinerja, Anda sebaiknya tidak mencampur beberapa mesin skrip pada halaman yang sama.