Adakah yang punya nomor kinerja yang membandingkan IIS dan .NET dengan Cherokee dan Mono?

8

Saya menyiapkan server pengembangan dan ingin mengaturnya untuk melayani halaman ASP.NET menggunakan Mono. Saya berencana menggunakan Cherokee dan Mono ( http://www.cherokee-project.com/doc/cookbook_mono.html ) dan bertanya-tanya apakah ada yang melakukan pengujian kinerja yang membandingkan tumpukan berbasis Unix dengan berbasis Windows.

Larry Smithmier
sumber
Saya akhirnya pergi ke SuseGallery [1] dan melakukan pencarian cepat untuk Mono dan menemukan JEOS Mono ASP.net [2] yang sudah diatur untuk apa yang saya inginkan. Saya baru saja mulai menggunakan untuk beberapa uji coba migrasi ASP.net di Windows dengan VirtualBox. Saya hanya perlu menjalankan Apache dan mengatur penerusan porta. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet
Larry Smithmier

Jawaban:

7

Saat menguji beban kerja Mono / Linux vs .NET / Windows, Anda harus ingat bahwa ada lebih banyak yang dimainkan daripada hanya lingkungan runtime.

Ada area di mana Linux berkinerja lebih baik daripada Windows (Kebanyakan IO dan operasi jaringan cenderung lebih cepat untuk program C yang sebanding). Pada saat yang sama, .NET memiliki pengumpul sampah yang lebih maju dan kompiler JIT yang lebih maju.

Ketika datang ke pustaka kelas, itu benar-benar tergantung pada jalur kode apa yang Anda gunakan. Seperti JacksonH katakan pada posting sebelumnya, Anda dapat menekan jalur kode yang telah dioptimalkan dalam satu implementasi, tetapi tidak pada yang lain, dan sebaliknya.

Pada beban kerja ASP.NET Anda harus ingat bahwa pengaturan default akan merutekan semua permintaan yang masuk ke proses "pekerja" tunggal, mod_mono dan Cherokee menggunakan pendekatan yang sama:

Banyak server HTTP ke satu mod-mono-server
(sumber: mono-project.com )

Setidaknya dengan Apache, kami mendukung mekanisme di mana Anda dapat membagi beban kerja aplikasi di beberapa pekerja, yang membantu di bawah beban tinggi karena menghindari penguncian dalam proses dan memberi masing-masing pekerja kumpulan benang keseluruhan untuk bekerja dari:

Mengalihkan permintaan ke host ASP.NET yang berbeda dengan mod_mono
(sumber: mono-project.com )
Detail tentang cara mengkonfigurasi pengaturan ini tersedia di sini:

http://mono-project.com/Mod_mono

miguel.de.icaza
sumber
7

Ini agak non-jawaban. Namun tidak ada jawaban nyata di sini. Sayangnya hal ini sangat tergantung pada aplikasi. Aplikasi Anda dapat menemukan sesuatu yang Mono lakukan dengan sangat baik atau Anda mungkin menggunakan sesuatu yang diimplementasikan dengan buruk atau memiliki beberapa bug. Ini sebenarnya bukan kasus Mono yang X kali lebih lambat / lebih cepat dari IIS.

Saran saya adalah untuk mengambil aplikasi Anda, menyebarkannya di dua instance EC2 yang berbeda (satu Windows dan satu Mono) dan lakukan pengujian Anda di sana. Jika Anda menemukan masalah besar pada instance Mono, harap laporkan dan kami akan mencoba untuk memperbaikinya.

Semua yang dikatakan, saya dapat memberitahu Anda dari pengalaman pribadi bahwa Mono aspx melakukan dengan sangat baik.

jacksonh
sumber
Seconding - Saya menggunakan Apache + mod_mono, dan kinerjanya sangat baik setelah dimulai. Satu-satunya waktu saya melihat kelambatan adalah selama memuat halaman awal, tetapi ini umum dengan hampir semua (Rails, dll).
BR