Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 15688|Jawab: 0

[ASP.NET] 8 cara untuk meningkatkan kinerja ASP.NET Web API Anda

[Salin tautan]
Diposting pada 11/01/2016 14.37.43 | | | |
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.




Mantan:SyntaxError: Missing parentheses in call to print
Depan:vsftpd untuk menambahkan pengguna baru
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com