Mengakses database biasanya kinerja terbesar dalam web aplikasi. Tapi setelah kamu mengoptimalkan dan menyembunyikan query database kamu sebanyak mungkin disini terdapat 3 tutorial yang mungkin menguras beberapa request dari
ASP.NET MVC applications dan web servers.
Tergantung dengan fitur yang kamu gunakan, beberapa mungkin tidak selalu berlaku pada aplikasi dan beberapa tidak terlalu berpengaruh. Kita tidak bisa menjamin berapa banyak perbaikan yang akan kamu liat tergantung dari aplikasinya.
Menonaktifkan Beberapa Engines Yang Tidak Digunakan
Ketika : aplikasi kamu menggunakan built-in display / Editor template (melalui Html.EditorFor atau Html.DisplayFor method) dan kamu hanya menggunakan salah satu dari engine nya.
Mengapa : ASP.NET MVC umumnya sangat bagus dalam meng-cache file (views, partials, display/editor templates). Disatu sisi, ada yang tidak bisa di cache, seperti penggunaan built-in (default) display/editor templates (dimana file yang dicari hilang).
Setiap kali Kamu menggunakan metodeHtml.EditorFor atau Html.DisplayFor dan Kamu tidak memiliki template yang cocok untuk MVC akan menghasilkan markup yang tepat untuk Kamu berdasarkan model metadata. Namun, sebelum itu terjadi ia akan mengecek, engine akan mengecek file template. Semakin banyak yang kamu registrasi, akan membutuhkan waktu yang sedikin untuk mengecek cache yang diulang sesuai yang di request. Jika kamu hanya menggunakan 1 engine dalam project kamu, kamu harus menghapus yang lain di Global.asax. Cara termudah untuk melakukannya yaitu dengan code berikut :
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());
Hindari Tampilang Passing Null Models
Ketika kamu berhasil menggunakan tampilan model yang menggunakan HTML helper (seperti Html.TextBoxFor). Hal ini sering terjadi pada saat insert.
Mengapa Strongly-typed html helpers seperti Html.TextBoxFor(m => m.Name) akan mencoba untuk menampilkan nilai dari model menggunakan expression. Namun apabila sepanjang expression hasilnya Null NullReferenceException akan dibuang dan expression akan dievaluasi. Kamu dapat menghidarinya dengan menggunakan code dibawah ini :
public ActionResult Insert() {
// return View(); // here the model instance defaults to null
return View(new Product());
}
Uninstall URL Rewrite Apabila Kamu Tidak Menggunakannya
Ketika IIS server kamu mempunyai URL rewrites module yang terinstall tetapi tidak terhadap aplikasi yang dijalankan ASP.NET MVC 3.
Mengapa : ketika melakukan URL generation (misalnya melalui metode Html.ActionLink) dalam beberapa kasus MVC akan memeriksa apakah url yang diminta telah ditulis ulang oleh module URL Rewrite.
Tindakan memeriksa apabila URL telah ditulis ulang memiliki biaya yang tidak sepele (karena melibatkan memeriksa variabel server). ASP.NET MVC 3 memeriksa untuk melihat apakah URL Rewrite dimatikan dan bisa menyimpannya sehingga menghindari kebutuhan untuk memeriksa variabel server untuk setiap request. Jika URL Rewrite dihidupkan MVC harus memeriksa variabel server bahkan jika tidak ada penulisan ulang terjadi untuk permintaan tertentu jadi jika Kamu tidak menggunakan URL Rewrite Kamu harus mematikannya (Perhatikan bahwa MVC 2 selalu melakukan cek ini sehingga mengubah URL Rewrite off akan tidak membuat perbedaan).