[Mono-dev] FastCGI Performance

Giuliano Barberi gbarberi at aotaonline.com
Mon Apr 7 15:52:27 UTC 2014

I think just running the same test as evhttp-listener in the TechemPower
Benchmark where it serializes JSON is fine. All we are looking for is a
comparison. If we submit the test to them on Github then it should be
available for the next benchmark too. Seems like we could add the
HyperFastCgi and the FOS implementations. So far the evhttp one is super
fast but it relies on native code so it has some custom code to pick either
the Windows DLL or the Linux SO and needs those dependencies installed
separately. It would be great to have a fast C# implementation.

On Apr 7, 2014 10:20 AM, "Marcelo Zabani" <mzabani at gmail.com> wrote:

> I have not compared the fastcgi implementation per se, because it is not
> very easy to test only the underlying fastcgi implementations and I never
> had the time for that.
> Fos, however, is a highly asynchronous server implementation, and I've
> seen it dealing with a lot of connections simultaneously. I haven't
> benchmarked it properly and compared it to other servers yet, but I'll try
> to do that in the next two weeks.
> I run a website with Fos and I get 10-20ms average response time (measured
> as Fos -> Nginx, that is, not counting the time it takes for the response
> to reach the user) with static pages. In case you want to take a better
> look at these numbers, take a look at http://beeder.com.br/_stats
> Don't be scared by the large response times for some of the URLs, as those
> are usually contacting Facebook through Fb's API.
> On Mon, Apr 7, 2014 at 8:02 AM, Giuliano Barberi <gbarberi at aotaonline.com>wrote:
>> Have you benchmarked it to see how it compares to the existing FastCGI
>> implementation?
>> Regards
>> On Sun, Apr 6, 2014 at 11:03 PM, Marcelo Zabani <mzabani at gmail.com>wrote:
>>>  In case you want to host an OWIN application with Mono and FastCgi,
>>> you may wanna take a look at a project of mine, Fos:
>>> https://github.com/mzabani/Fos
>>> It is also available at NuGet.
>>>  ------------------------------
>>> From: Greg Najda <gregnajda at gmail.com>
>>> Sent: 06/04/2014 22:43
>>> To: Giuliano Barberi <gbarberi at aotaonline.com>
>>> Cc: Mono Developer List <mono-devel-list at lists.ximian.com>
>>> Subject: Re: [Mono-dev] FastCGI Performance
>>>  Someone looked into Mono FastCGI performance a couple months ago and
>>> made a series of blog posts:
>>> http://forcedtoadmin.blogspot.com/2013/11/servicestack-performance-in-mono-p1.html
>>> http://forcedtoadmin.blogspot.com/2013/11/servicestack-performance-in-mono-p2.html
>>> http://forcedtoadmin.blogspot.com/2013/12/servicestack-performance-in-mono-p3.html
>>> He ended up writing a replacement for the Mono FastCGI server instead of
>>> changing it because of architectural changes:
>>> https://github.com/xplicit/HyperFastCgi
>>> On Sun, Apr 6, 2014 at 7:43 PM, Giuliano Barberi <
>>> gbarberi at aotaonline.com> wrote:
>>>> After looking at some of the Mono web benchmarks (
>>>> http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&test=json&s=2&p=13ydj4-0 )
>>>> I got very curious as to why FastCGI performance was so much lower than
>>>> when using a C# libevent implementation.
>>>> If you look at nancy-libevent2 vs nancy benchmarks, the only difference
>>>> is a C# wrapper around libevent (
>>>> https://github.com/kekekeks/evhttp-sharp ) vs Mono FastCGI. Since Mono
>>>> uses epoll underneath which is what libevent uses afaik, I would not expect
>>>> there to be such a gap in performance.
>>>> I'm curious whether performance of FastCGI is being looked at or if
>>>> this is expected. Mono when using FastCGI benchmarks almost at the bottom
>>>> of the list when compared to many other technologies (
>>>> http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&test=json ).
>>>> I've done a bit of analysis on where the bottleneck is and everything I've
>>>> found is pointing to the FastCGI implementation.
>>>> Regards
>>>> --
>>>> Giuliano Barberi
>>>> _______________________________________________
>>>> Mono-devel-list mailing list
>>>> Mono-devel-list at lists.ximian.com
>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> --
>> Giuliano Barberi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20140407/875fe402/attachment.html>

More information about the Mono-devel-list mailing list