开发者

How would you compare IIS & Cassini as production servers?

I have an ASP.NET website which is running currently on IIS. Now I want to move that site to run on Cassini.

What are the advantages of Cassini over IIS? What are its disadvantages?

What a开发者_运维技巧re your experiences using Cassini as a production web-server?


As far as I know, you cannot use Cassini in production because it listens for localhost requests only. You will have to modify source code and recompile the webserver by yourself.

Another thing is that IIS is built on top of http.sys kernel-level library for maximum performance. I'm not familiar with the latest Cassini versions but last time I checked, it used slower managed TCP sockets.

If your website is not very popular and Cassini has all the features you need, why not... there is nothing wrong with Cassini. It's simple webserver but it's not the only alternative to IIS.

There is Abyss, UltiDev Cassini and I think a few other open-source servers with ASP.NET support.


UltiDev Web Server Pro is a free, redistributable, light-weight web server with lots of enterprise-level feature for ASP.NET applications (from ASP.NET 1.1 to 4). Unlike Cassini, its design has nothing precluding it from serving Internet-facing applications. Created by UltiDev, the vendor of UltiDev Cassini fork, new UWS Pro is functionally closer to IIS than to Cassini. More screenshots.

How would you compare IIS & Cassini as production servers?

.


Easy choice: it's simply not possible to use Cassini in production, because it's not accessible from remote machines (it only listens on localhost).


I would say you are better off, going with something proven to handle scaling, like mod_mono on apache if you are looking for alternative servers.

The integrated pipeline, routing, compression and caching features of iis are hard to replicate. But the app pool and failure rapid response stuff is hard to do without knowledge of the OS and the network stack at a root level.

Cassini doesn't claim to be multi threaded or handle any of the advanced e-tags or other header control issues that can be issues with iis, but are also usually set at sensible defaults in later versions of iis.

For the sake of completeness, you could do the older rails-mongrels model, spin up say 10 cassini's on ports 10100 - 10110, then use ngenx or apache to load ballance requests on those threads, and using a monitoring tool to redo requests to new threads when old ones go out to lunch and constantly be restarting 2 or so ports, because you get overloaded.


There is a good comparison of Cassini and IIS here at StackOverflow


There is no possible angle you can look at cassini or any of it's derivatives and consider using it as anything other than a development/testing server.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜