Direkomendasikan: Kode untuk situs film Max untuk menghasilkan umpan RSS Beberapa waktu yang lalu, untuk menambahkan fungsi langganan RSS ke situs film saya, saya menulis kode ASP yang secara dinamis menghasilkan umpan RSS. Saya tidak dapat mengunggah lampiran, jadi saya baru saja menempelkan kode. Lagipula itu tidak lama. Teman yang menggunakan max sebagai situs film dapat menggunakannya secara langsung. Ubah jenis situs lainnya.
Pengembang ASP terus bekerja untuk mendapatkan kinerja dan skalabilitas yang lebih baik dalam proyek desain mereka. Untungnya, ada banyak buku dan situs yang memberikan saran bagus tentang ini. Namun, dasar dari saran -saran ini adalah kesimpulan yang diambil dari struktur pekerjaan platform ASP, dan tidak ada pengukuran peningkatan kinerja yang sebenarnya. Karena saran -saran ini memerlukan proses pengkodean yang lebih kompleks dan mengurangi keterbacaan pengkodean, pengembang hanya dapat mengukur diri mereka sendiri apakah layak membayar untuk meningkatkan kinerja aplikasi ASP mereka tanpa melihat efek operasional yang sebenarnya.
Artikel ini dibagi menjadi dua bagian, dan saya akan memperkenalkan beberapa hasil tes kinerja untuk membantu pengembang menentukan apakah inisiatif tertentu tidak hanya bermanfaat untuk proyek masa depan, tetapi juga dapat memperbarui proyek asli. Pada bagian pertama, saya akan meninjau beberapa masalah dasar dalam pengembangan ASP. Pada bagian kedua, beberapa optimalisasi fungsi ADO akan terlibat dan hasilnya akan dibandingkan dengan halaman ASP yang memanggil objek VB COM untuk menjalankan fungsi ADO yang sama. Hasil ini membuka mata dan terkadang mengejutkan.
Dalam artikel ini, kami akan menjawab pertanyaan berikut:
* Apa cara paling efisien untuk menulis konten yang dihasilkan oleh ASP ke dalam aliran respons?
* Haruskah penyangga dihidupkan?
* Haruskah saya mempertimbangkan untuk menambahkan komentar ke kode ASP?
* Haruskah bahasa default diatur secara eksplisit untuk halaman?
* Haruskah status sesi dimatikan jika tidak diperlukan?
* Haruskah logika skrip ditempatkan di subrutin dan area fungsi?
* Apa efek dari menggunakan file include?
* Jenis beban apa yang akan diterapkan saat melakukan pemrosesan kesalahan?
* Apakah pengaturan pemrosesan konteks berdampak pada kinerja?
Semua tes dilakukan dengan menggunakan Microsoft's Web Applications Focus Tool (WAST), alat gratis yang dapat ditemukan di sini. Saya membuat skrip tes sederhana dengan Wast, berulang kali memanggil tes halaman ASP yang dijelaskan di bawah ini (masing -masing lebih dari 70.000 kali). Waktu reaksi didasarkan pada rata -rata waktu total byte terakhir (TTLB), yaitu, dari saat waktu yang diminta awal hingga saat alat menerima bit data terakhir dari server. Server uji kami adalah Pentium 166 dengan memori 196MB dan Pentium 450 dengan memori 256MB. Anda mungkin berpikir bahwa kinerja mesin -mesin ini tidak terlalu maju, tetapi jangan lupa bahwa kami tidak menguji kapasitas server, kami hanya menguji waktu yang diperlukan server untuk memproses satu halaman pada satu waktu. Mesin -mesin ini tidak melakukan pekerjaan lain selama pengujian. Skrip tes WAST, laporan tes, dan semua halaman tes ASP termasuk dalam file zip, dan Anda dapat meninjau dan mengujinya sendiri.
Apa cara paling efisien untuk menulis konten yang dihasilkan oleh ASP ke dalam aliran respons?
Salah satu alasan utama untuk menggunakan ASP adalah untuk menghasilkan konten dinamis di server. Jadi jelas bahwa titik awal dari tes kami adalah dengan menentukan cara yang paling cocok untuk mengirim konten dinamis ke aliran respons. Di antara banyak pilihan, dua adalah yang paling mendasar: satu adalah menggunakan tag ASP inline, dan yang lainnya adalah menggunakan respons. Pernyataan penulisan.
Untuk menguji pilihan -pilihan ini, kami membuat halaman ASP sederhana di mana beberapa variabel didefinisikan dan nilainya dimasukkan ke dalam tabel. Meskipun halaman ini sederhana dan tidak terlalu praktis, ini memungkinkan kami untuk memisahkan dan menguji beberapa pertanyaan terpisah.
Menggunakan tag ASP Inline
Tes pertama melibatkan penggunaan tag ASP inline < %= x %>, di mana x adalah variabel yang ditetapkan. Metode ini sejauh ini paling mudah dieksekusi, dan menjaga bagian HTML dari halaman dalam format yang mudah dibaca dan dipelihara.
| <% Opsi eksplisit Redup firstname Nama terakhir redup Redup menengah Alamat redup Kota redup Keadaan redup Redup fonenerb Redup faxnumber Email redup Redup kelahiran FirstName = John MiddleInitial = q LastName = Publik Alamat = 100 Main Street Kota = new york State = NY Phonenumber = 1-212-555-1234 FaxNumber = 1-212-555-1234 Email = [email protected] BirthDate = 1/1/1950 %> <Html> <head> <title> Tes Respons </iteme> </head> <body> <h1> Tes Respons </h1> <able> <tr> <td> <b> Nama Depan: </b> </td> <td> < %= FirstName %> </td> </tr> <tr> <td> <b> Inisial tengah: </b> </td> <td> < %= MiddleInitial %> </td> </tr> <tr> <td> <b> Nama Belakang: </b> </td> <td> < %= LastName %> </td> </tr> <tr> <td> <b> Alamat: </b> </td> <td> < %= alamat %> </td> </tr> <tr> <td> <b> City: </b> </td> <td> < %= City %> </td> </tr> <tr> <td> <b> status: </b> </td> <td> < %= state %> </td> </tr> <tr> <td> <b> Nomor telepon: </b> </td> <td> < %= Phonenumber %> </td> </tr> <tr> <td> <b> Nomor faks: </b> </td> <td> < %= FaxNumber %> </td> </tr> <tr> <td> <b> Email: </b> </td> <td> < %= email %> </td> </tr> <tr> <td> <b> Tanggal lahir: </b> </td> <td> < %= kelahiran % %> </td> </tr> </boable> </body> </html> |
Kode lengkap untuk /app1/response1.asp
Sebelumnya terbaik (tingkat respons) = 8.28 msec/halaman
Gunakan pernyataan respons.write pada setiap baris HTML
Banyak dokumen pembelajaran yang lebih baik merekomendasikan untuk menghindari metode sebelumnya. Alasan utama adalah bahwa selama halaman output dan halaman pemrosesan yang menerapkan waktu reaksi, jika server web harus mengonversi antara mengirim HTML murni dan skrip pemrosesan, masalah yang disebut konversi konteks terjadi. Ketika sebagian besar pemrogram mendengar ini, reaksi pertama mereka adalah membungkus setiap baris HTML asli dalam fungsi respons.
| ... Response.write (<html>) Response.write (<head>) Response.write (<Title> Tes Respons </iteme>) Response.write (</head>) Response.write (<body>) Response.write (<H1> Tes Respons </h1>) Response.write (<able>) Response.write (<tr> <td> <b> Nama Depan: </b> </td> <td> & FirstName & </td> </tr>) Response.write (<tr> <td> <b> Inisial tengah: </b> </td> <td> & MiddleInitial & </td> </tr>) ... < |
/app1/response2.asp fragmen
Sebelumnya terbaik (tingkat respons) = 8.28 msec/halaman
Waktu reaksi = 8.08 msec/halaman
Perbedaan = -0,20 msec (pengurangan 2,4%)
Kita dapat melihat bahwa menggunakan pendekatan ini sangat kecil dalam kinerja dibandingkan dengan menggunakan tag inline, mungkin karena halaman memuat server dengan banyak panggilan fungsi kecil. Kerugian terbesar dari pendekatan ini adalah bahwa karena HTML sekarang tertanam dalam skrip, kode skrip menjadi lebih bertele -tele dan lebih sulit dibaca dan dipelihara.
Bagikan: 20 contoh yang sangat berguna dalam pemrograman ASP (I) 1. Cara menggunakan ASP untuk menentukan jalur fisik virtual dari situs web Anda Jawaban: Gunakan metode mappath: < % = server.mappath () %> 2. Bagaimana saya mengetahui browser yang digunakan oleh pengguna? Jawaban: Gunakan metode objek permintaan:
5 halaman total halaman sebelumnya 12345Next halaman