[Mono-dev] how to improve mono performance

Maxime de Lavenne max at tfbc.com
Fri Nov 18 17:34:24 EST 2005

I'd like to point out that the arrival of his requests probably follows a
poisson distribution anyway. In which case, his probability of getting more
than 9 requests per second is null.  So, it stays really reasonable... And
WAY under the limit of 732 req/sec for ASP that Miguel just mentioned.

You can verify this alegation by looking at the analysis below if anyone
feels like it ;). I may be wrong.



4:30:00  hh:mm:ss
16200    seconds

Avg request/second:

Concurrent |  Poisson    | Requests  
Req/sec    | probability | concerned 
   0       |   29.10%    |   5819    
   1       |   35.92%    |   7184
   2       |   22.17%    |   4435
   3       |    9.12%    |   1825
   4       |    2.82%    |    563
   5       |    0.70%    |    139
   6       |    0.14%    |     29
   7       |    0.03%    |      5
   8       |    0.00%    |      1
              100.00%       20000

Basically, 5919 requests have 29.1% chance to be the only request in the
system for a second, and so on...
(based on the excel poisson distrib, with 1.23 as the mean and a cumul of 0)

-----Original Message-----
From: mono-devel-list-bounces at lists.ximian.com 
[mailto:mono-devel-list-bounces at lists.ximian.com] On Behalf Of 
Miguel de Icaza
Sent: Friday, November 18, 2005 12:25 PM
To: zhu shi song
Cc: Atsushi Eno; Ben Maurer; mono-devel-list at lists.ximian.com
Subject: Re: [Mono-dev] how to improve mono performance


>   I insist that performance is the key factor for key applications.  
> For example, we now have one enterprise web query application. Every 
> day between 8:30AM and 12:00AM, it serve about 20000 
requests.  Now we 
> use one P4 2.6G PC Server with 512M DDR running Windows
> 2003 Server, it works well.  If we port it to Linux + Mono, we must 
> upgrade the hardware to meet the same workload.

Ben did a fantastic job in pointing out that 1.5 request per second is
hardly a lot.   

For ASP.NET applications, my laptop (a 2.0 Ghz with a much 
slower configuration than your server) can dispatch 732 ASP.NET 
requests per
second.   The sample "TestService" web service page which puts a bunch
of controls into a page comes out at 371 requests per second.

Which puts Mono at handling 4.41 million request per second in the time
frame that you described.   So, 220 times the load that you have today
on your site.

So for all intents and purposes Mono 1.1.10 should be able to 
cope with your load just fine.

We are still working to improve Mono's speed (see my status 
report on my blog for details about what we are doing), but you 
hardly need these improvements today.  Other people might.

Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list