Performance
有沒有人將 IIS 和 .NET 與 Cherokee 和 Mono 進行比較?
我正在設置一個開發伺服器,並希望將其設置為使用 Mono 為 ASP.NET 頁面提供服務。我計劃使用 Cherokee 和 Mono ( http://www.cherokee-project.com/doc/cookbook_mono.html ),想知道是否有人做過任何性能測試,比較基於 Unix 的堆棧和基於 Windows 的堆棧。
在測試 Mono/Linux 與 .NET/Windows 工作負載時,您必須記住,不僅僅是執行時環境在起作用。
在某些領域,Linux 的性能優於 Windows(對於可比較的 C 程序,大多數 IO 和網路操作往往更快)。同時,.NET 擁有更高級的垃圾收集器和更高級的 JIT 編譯器。
當涉及到類庫時,它實際上取決於您使用的程式碼路徑。正如 JacksonH 在上一篇文章中所說,您可以點擊在一個實現中優化的程式碼路徑,但在另一個實現中卻沒有,反之亦然。
在 ASP.NET 工作負載上,您必須記住預設設置會將所有傳入請求路由到單個“工作”程序,mod_mono 和 Cherokee 使用類似的方法:
(來源:mono-project.com)
至少對於 Apache,我們支持一種機制,您可以將應用程序工作負載分配給多個工作人員,這有助於在高負載下避免任何程序內鎖定並為每個工作人員提供一個完整的執行緒池來工作:
(來源:mono-project.com)
有關如何配置此設置的詳細資訊可在此處獲得: