Mengoptimalkan halaman ASP.NET Anda untuk pemuatan yang lebih cepat dan kinerja yang lebih baik.

Hak Cipta 2006 John Belthoff

Jika Anda membaca internet dan semua situs web yang didedikasikan untuk ASP.NET Anda pasti akan membaca tentang keajaiban Kontrol DataGrid, Data, dan Repeater. Sementara masing-masing memiliki tempatnya, jika Anda hanya menampilkan data, ada cara yang jauh lebih cepat dan lebih efisien untuk melakukannya.

Katakanlah Anda memiliki halaman yang menampilkan artikel berdasarkan string kueri. Ambil halaman artikel saya misalnya. Setiap artikel disimpan dalam database dan ditampilkan pada halaman berdasarkan ID unik artikel sebagaimana disimpan dalam database.

Prosedur Eksekusi Page ASP normal berjalan seperti ini. Kode permintaan basis data berdasarkan artikel i.D. Dan kemudian mengembalikan informasi itu ke halaman tempat Anda menampilkannya dengan cara yang Anda inginkan. Ini adalah pendekatan yang cukup lurus dengan ASP dan dilakukan sepanjang waktu.
Jadi, bagaimana kita mempercepat halaman ASP.NET kita?

Nomor 1: Gunakan caching ASP.NET! < Br> Situs Ini adalah no-brainer, dan saya tidak akan masuk ke kecemerlangan atau detail caching ASP.NET di sini karena pada saat penulisan ini Google memiliki 2.780.000 artikel tentang topik ini. Pada dasarnya alih-alih menanyakan database setiap kali halaman dimuat, Anda hanya meminta database sekali dan memuat hasilnya ke dalam cache sistem. Panggilan selanjutnya untuk memuat halaman mengambil data dari cache sebagai lawan dari basis data yang memberi Anda peningkatan kinerja instan dan besar. Anda kemudian dapat mengatur cache untuk berapa lama cache harus menyimpan informasi serta banyak fitur lainnya. Jika Anda tidak menggunakan cache, Anda harus bila memungkinkan!

Nomor 2: Jika memungkinkan, jangan gunakan kontrol ASP.NET standar.
Itu benar. Kontrol ASP.NET standar dirancang untuk pengembangan cepat dan bukan kinerja halaman. Mereka memungkinkan Anda untuk mendesain halaman yang meraih dan menampilkan data dengan sangat cepat tetapi kinerja mereka yang sebenarnya menderita karena overhead ekstra yang ada untuk kemudahan dan kecepatan waktu pengembangan dan tidak kecepatan eksekusi halaman.

Kontrol Pengguna atau bahkan lebih baik lagi Kontrol Kustom Web sejauh ini merupakan kinerja tercepat yang bijaksana dan benar-benar mudah dibuat dan digunakan.

Nomor 3: Gunakan sqldataReader atau bahkan lebih baik, gunakan perintah berbasis set untuk SQL Pengambilan data server dan cukup jalankan satu perintah yang menentang database.

asp.net sqldataReader adalah datareader yang cepat hanya menambah koneksi setelah membaca serangkaian hasil terakhir. Sekarang untuk halaman artikel saya, kami hanya mengembalikan 1 hasil tertentu. Dalam hal ini kami akan memilih perintah berbasis set. Jika Anda memiliki lebih dari 1 hasil yang dikembalikan, dalam daftar isi Anda misalnya, Anda akan menggunakan SQLDATArader karena Anda mengembalikan beberapa hasil.

Set Berbasis Perintah adalah prosedur tersimpan yang membawa kembali data melalui parameter yang bertentangan dengan Hasil yang ditetapkan kemudian pada gilirannya perlu dilingkarkan untuk mendapatkan data Anda. Jadi alih-alih menulis prosedur tersimpan seperti berikut yang membawa kembali 1 hasil set:

Pilih Judul, Tubuh, Penulis
Dari Artikel
Di mana Artid = 215

Kita dapat menulis Ini menggunakan perintah berbasis set seperti ini.

Buat prosedur mysp_getarticle

@title varchar (200) output,
@body varchar (8000) output,
@Author Varchar ( 500) output

sebagai

Pilih @title = judul, @body = body, @author = penulis
dari artikel





























Kueri di atas akan mengembalikan hanya tiga parameter yang disebut dan bukan hasil atau set rekaman sehingga Anda tidak harus berjalan melalui set rekaman yang dikembalikan yang hanya memiliki 1 mengakibatkannya. Proses kerja kecil kedua ini mengurangi kinerja Anda sehingga jangan menggunakannya jika Anda bisa. Gabungkan teknik ini dengan cache ASP.NET.

Nomor 4: Gunakan kelas dan arraylists sebagai lawan mengembalikan sqldataReader.

Buat kelas dan kemudian jika ada lebih dari satu set hasil Simpan hasil tersebut menjadi instantiasi individu dari kelas itu. Akhirnya menyimpan masing-masing kelas-kelas itu ke dalam arraylist. Anda kemudian dapat menyimpan hanya arraylist itu ke cache ASP.NET. Jadi alih-alih mendapatkan hasilnya kembali dari sqldatarareader saat memuat halaman Anda, Anda mendapatkannya dari arraylist yang disimpan dalam cache. Bagus ya?

Akhirnya ... Anda ingin memasukkan semua teknik ini ke dalam hasil akhir Anda yang akan dilakukan dengan cara dan urutan berikut.

Pada pertama kalinya halaman memuat, Kueri database dan kembalikan semua data Anda dengan menyimpannya menjadi kelas individu. Kemudian simpan masing-masing kelas-kelas itu ke dalam arraylist. Jika Anda hanya memiliki satu hasil tunggal, Anda hanya dapat menyimpan kelas ke dalam cache. Kemudian ambil arraylist Anda dan simpan ke dalam cache.

Selanjutnya Buat Kontrol Kustom Web dan lewatkan arraylist cache ke kontrol khusus dan lampirkan data Anda menggunakan HTMLTextWriter yang sangat cepat. Ingat setiap panggilan selanjutnya untuk memuat halaman akan dipanggil dari cache yang menyimpan arralis kelas atau kelas tunggal Anda.

Tentu saja dibutuhkan sejumlah besar pengkodean tambahan untuk melakukannya dengan cara ini, terutama ketika Anda Ambil penanganan kesalahan yang tepat, tetapi jika Anda mengikuti pendekatan ini, halaman Anda akan memekik dengan cepat, Anda akan segera melihat perbedaannya, dan halaman ASP.NET Anda akan dieksekusi dalam urutan yang tepat - penanganan data dalam fungsi Page_load dan tampilan HTML dalam fungsi page_render. Selanjutnya, Anda akan senang Anda melakukannya dan begitu juga pengunjung Anda.

Pemrograman Selamat!




Share:

Artikel Terkait:

Game Perang Komputer: Cara memperkirakan keputusan yang dibuat oleh peserta pelatihan C & C

Sekarang saat militer Rusia kekurangan uang dan hanya mampu membayar sejumlah terbatas lat...

Apa itu DIMM?

Modul memori DIMM, atau dual in-line, adalah komponen ganda dari modul memori satu in-line...

Membeli gerak kamera aktif online

Bagi mereka yang memiliki bisnis, mereka tahu bahwa keamanan adalah masalah yang sangat pe...

10 Situs Web Backup Essentials yang harus Anda jalani

Semakin banyak webmaster saat ini tidak menghargai pentingnya backup situs web yang lengka...