Kompres objek cache dalam memori

Saya sedang membangun aplikasi MVC ASP.NET skala perusahaan yang menyimpan objek besar ke cache memori menggunakan perpustakaan perusahaan 4.1.

Ukuran objek berkisar antara 18-22MB untuk setiap pengguna. Mungkin ada 530 pengguna secara bersamaan setiap saat. Saya agak khawatir tentang ukuran objek di memori. Adakah yang bisa menyarankan pola apa pun yang dapat saya gunakan untuk mengompresi objek di memori? Saya belum melihat artikel apa pun yang menyebutkan apakah Ent Lib 4.1 mendukung cache memori terkompresi di luar kotak.

Mengurangi ukuran data dari objek yang di-cache bukanlah suatu pilihan karena kita harus menyimpan data selama 3 tahun ke dalam memori untuk menghindari panggilan bolak-balik ke layanan web.

Terima kasih.


person Nil Pun    schedule 09.01.2013    source sumber
comment
Saya tahu kedengarannya agak kurang ajar, tapi... pastikan server Anda memiliki banyak RAM? Pengguna 22MB x 530 kurang dari 12GB, dan RAM (relatif) murah. Selain itu, kompresi apa pun memerlukan dekompresi sebelum digunakan, yang berarti overhead yang biasanya tidak Anda dapatkan. Mungkin lebih baik untuk mendapatkan 20% lebih banyak RAM daripada mencoba mengurangi ukuran objek sebanyak 20%.   -  person Damovisa    schedule 09.01.2013
comment
Anda masih dapat menggunakan cache disk lokal di server web atau bahkan database cache lokal (misalnya SQL Server Compact 4.0: microsoft.com/en-us/download/details.aspx?id=17876) atau sesuatu seperti memcached (atau, berani saya katakan, AppFabric Caching). Kemudian lagi, 530 * 22MB hanya ~11,5 Gigabytes, jadi Server Web modern dengan RAM 16 atau 24 GB seharusnya tidak mengalami masalah apa pun, selama Anda menjalankan ASP.net 64-Bit dan tidak melebihi 2 Batas Objek GB (yang dapat diubah, tetapi menurut saya kinerja GC pada akhirnya akan menukik)   -  person Michael Stum    schedule 09.01.2013


Jawaban (1)


Blok cache Entlib tidak mendukung kompresi dalam memori (atau pada disk).

person Chris Tavares    schedule 11.01.2013