Tim Anderson's ITWriting [Valid RSS]

Tech writing blog

Blog Home RSS Archives ITWriting.com
Add to Feedburner Add to Bloglines Add to Newsgator Add to My Yahoo

April 7, 2006

Laterooms.com gives up on Mono

Posted 1574 days ago on April 7, 2006

Is Mono, the open-source implementation of Microsoft's .NET Framework, ready for production use? Maybe in some scenarios, but the experience of laterooms.com suggests scalability issues. Laterooms is a hotel booking site which claims 32,000 daily visitors. The UK-based company migrated its site from PHP to .NET, with the intention of running on Mono. "Functional testing went well", said Gavin Hamill in a post to Mono's public mailing list, but when the site went live it was "a cataclysmic disaster, both technical and financial...Our public site now runs on Windows, and has been running perfectly."

The bug seems to be memory-related. "Memory usage of the mono process slowly spirals upwards until the machine swaps so heavily it becomes unresponsive", says Hamill.

The upside of this particular tale is that Laterooms was apparently able to switch its application from Linux to Windows with few if any changes to the code. That's actually a benefit of Mono; and in theory a frustrated Windows .NET developer could move in the other direction. Mono is good for the .NET platform, and is gradually maturing, but not soon enough for Laterooms. Someone asked whether suitable technical help might persuade them to switch back. "We're many miles past that stage," said Hamill.

See this posting for more details.

I'm interested in other experiences with Mono - emails and comments welcome.

Tags:



Re: Laterooms.com gives up on Mono

Posted 1571 days ago by Devin • • • Reply

> in theory a frustrated Windows .NET developer could move in the other direction.

Unless your code happens to be in VB.NET in which case Mono's compiler is so poor it'll never compile.

Re: Laterooms.com gives up on Mono

Posted 1571 days ago by Tim Anderson • • • Reply

True, VB support is not Mono's top priority.

Re: Laterooms.com gives up on Mono

Posted 1556 days ago by Gavin Hamill • • wwwReply

Hi :) (It's amusing to see your article on the first page of google hits for 'laterooms', BTW)

The core cause appears to be Mono's non-existant garbage collection - well I say non-existant - it features the Boehm algorithm which as I understand is intended as a helper for C coders..

Unfortunately, to reduce the load on the database (another story altogether..), we implemented tons of in-memory caching of database results (this might even be a feature of NHibernate - I'm not a coder...) and as such a large amount of data is stored, and then expired after 5 minutes, there's a great deal of memory churn.

We expected the runtime to compact + optimise this memory use. It did not; whoops. Had we known Mono was so poorly featured in this dept, we surely would have implemented a disk-based cache strategy.

As it turned out, we found out at 2pm on launch day when all three of our Apache 1.3.33 + Mono 1.1.13 machines became unresponsive ~10 mins after each apachectl restart, and then spent the next 12 hours pushing any slightly spare machine into action as an IIS server (with 90-day evaluation versions of Windows Server 2003, no less)

Including only Boehm in an 'enterprise' product is insane - isn't half the point of higher level languages like C# that you don't need to think about dull issues such as memory management? I thought we left that behind with C...


Add Comment

You are welcome to comment below. For your guidance, HTML is not supported and URLs will be displayed as plain text.

 Title

 Name

 Email - Optional, not displayed

 Website. Make Public?

Your comment

Please enter this code below:

 Code

Recent posts

Users plead with Borland to give up .NET
IE7 to be released 18th October,...
If Microsoft doesn't use UAC, why...
Google's unsettling lack of direction
Vista security: now prove it


Powered by bBlog