ASP.NET Web API adalah teknologi yang hebat. Menulis API Web sangat mudah sehingga banyak pengembang tidak menghabiskan waktu untuk menyusun aplikasi mereka untuk mendapatkan kinerja eksekusi yang baik. Pada artikel ini, saya akan membahas 8 teknik untuk meningkatkan kinerja ASP.NET Web API. 1) Gunakan alat serialisasi JSON tercepat Serialisasi JSON memiliki dampak penting pada kinerja seluruh ASP.NET Web API. Dalam salah satu proyek saya, saya beralih dari serializer JSON.NET ke ServiceStack.Text selama satu setengah tahun. Saya telah mengukur bahwa kinerja API Web telah meningkat sekitar 20%. Saya sangat menyarankan Anda mencoba alat serialisasi ini. Berikut adalah beberapa data perbandingan terbaru tentang kinerja alat serialisasi populer.
SerializerPerformanceGraf Sumber: theburningmonk Pembaruan: Tampaknya StackOverflow menggunakan Jil, alat serialisasi JSON yang mereka klaim hingga saat ini. Data pengujian dapat ditemukan di halaman GitHub mereka Jil serializer. 2) Serialisasi JSON secara manual dari DataReader Saya telah menggunakan pendekatan ini dalam proyek saya dan telah menerima manfaat kinerja. Anda dapat membuat string JSON secara manual dari DataReader dan menghindari pembuatan objek yang tidak perlu, sehingga Anda tidak perlu mengambil nilai dari DataReader dan menulis ke objek, lalu mengambil nilai dari objek tersebut dan menggunakan JSON Serializer untuk menghasilkan JSON. Gunakan StringBuilder untuk menghasilkan JSON dan mengembalikan StringContent di akhir sebagai konten respons di WebAPI.
Anda dapat melihat lebih banyak cara untuk melakukan ini di blog Rick Strahl 3) Gunakan format protokol lain (buffer protokol, paket pesan) sebanyak mungkin Jika Anda dapat menggunakan format pesan lain dalam proyek Anda, seperti Buffer Protokol atau MessagePacks, alih-alih menggunakan JSON. Anda akan mendapatkan keuntungan kinerja yang sangat besar, tidak hanya karena Buffer Protokol sangat cepat dalam serialisasi, tetapi juga karena diformat lebih cepat daripada JSON dalam hasil yang ditampilkan. 4) Menerapkan kompresi Gunakan GZIP atau Deflate di ASP.NET Web API Anda. Kompresi adalah cara sederhana dan efektif untuk mengurangi ukuran dan responsivitas paket respons. Ini adalah fitur yang sangat diperlukan, Anda dapat melihat lebih banyak artikel tentang kompresi di blog saya ASP.NET Web API GZip kompresi ActionFilter dengan 8 baris kode. 5) Gunakan caching Menggunakan caching output dalam metode Web API sangat mendalam. Misalnya, jika sejumlah besar pengguna mengakses konten respons yang hanya berubah sekali sehari. Jika Anda ingin menerapkan penembolokan manual, seperti menyimpan kata sandi pengguna ke memori, lihat postingan blog saya Cara sederhana untuk menerapkan penembolokan di ASP.NET Web API. 6) Gunakan ADO.NET khas bila memungkinkan ADO.NET yang ditulis secara manual masih merupakan cara tercepat untuk mendapatkan nilai dari database. Jika kinerja API web Anda sangat penting bagi Anda, maka jangan gunakan OMR. Anda dapat melihat perbandingan kinerja antara ORM paling populer. ORMMapper
Kode pengambilan yang bagus dan tulisan tangan cepat, dan benar saja, semua ORM lebih lambat dari ketiganya. LLBLGen dengan cache set hasil cepat, tetapi harus mengulangi ulang kumpulan hasil dan membuat instance objek dalam memori lagi. 7) Terapkan pendekatan asinkron di API Web Menggunakan layanan API Web asinkron secara dramatis meningkatkan jumlah permintaan HTTP yang diproses oleh API Web. Implementasinya sederhana, cukup gunakan kata kunci asinkron dan ubah jenis nilai pengembalian metode Anda menjadi Tugas.
8) Mengembalikan beberapa set hasil dan kombinasi set Mengurangi jumlah transfer tidak hanya bermanfaat untuk beberapa database, tetapi juga untuk API Web, yang memungkinkan Anda menggunakan kekuatan set hasil. Ini berarti Anda dapat mengekstrak beberapa set hasil dari DataReader, lihat kode demo berikut:
Anda dapat mengembalikan beberapa objek dalam satu respons dari API Web, coba gabungkan objek yang ditampilkan dan kembalikan objek berikut:
Ini akan mengurangi permintaan HTTP ke WEB API Anda. Terima kasih telah membaca artikel ini.
|