[Mono-dev] Architectural decisions behind mod_mono

Robert Jordan robertj at gmx.net
Sun Mar 8 13:11:01 EDT 2009

Hiawatha wrote:
> Hi all - I'm investigating the possibility of porting a site from
> Apache.  From what I understand, mod_mono requires mod_mono_server which
> answers inbound requests over a TCP/IP socket.  I'm having a hard time

Mod_mono + mod-mono-server are using unix sockets by default. This
is the default IPC machinery under Unix.

The TCP option is only useful if mod_mono and mod-mono-server are
hosted on different machines.

> understanding this design. First off, for every inbound socket opened in
> Apache, a new socket is opened for mod_mono_server, along with all the
> overhead on the network stack.  In the Windows world, IIS hosts the CLR in
> process and the two are very tightly integrated.  What's stopping Mono from
> incorporating this design?

IIS + MS ASP.NET are communicating using named pipes, the default IPC
machinery for Windows. Do you see the parallels?

> I'm assuming Java does not have a separate Java server which Apache forwards
> requests to.

You're wrong. Tomcat, the most employed servlet container, is running
in its own process.

> Can't Apache just be configured to natively run Mono applications in
> process?  Would this be a massive architectural change to the Mono runtime? 

It's almost impossible because ASP.NET was not designed to be hosted
inside a short living process.


More information about the Mono-devel-list mailing list