Has anyone got any performance numbers comparing IIS and .NET to Cherokee and Mono?












8















I am setting up a development server and want to set it up to serve ASP.NET pages using Mono. I am planning on using Cherokee and Mono (http://www.cherokee-project.com/doc/cookbook_mono.html) and wondered if anyone had done any performance testing comparing the Unix based stack to the Windows based.










share|improve this question

























  • I ended up going to the SuseGallery[1] and did a quick search for Mono and found JEOS Mono ASP.net[2] which was already setup for what I wanted. I have just started using for some ASP.net migration trials on Windows with VirtualBox. I just needed to start Apache and set up port forwarding. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet

    – Larry Smithmier
    Aug 18 '10 at 1:07


















8















I am setting up a development server and want to set it up to serve ASP.NET pages using Mono. I am planning on using Cherokee and Mono (http://www.cherokee-project.com/doc/cookbook_mono.html) and wondered if anyone had done any performance testing comparing the Unix based stack to the Windows based.










share|improve this question

























  • I ended up going to the SuseGallery[1] and did a quick search for Mono and found JEOS Mono ASP.net[2] which was already setup for what I wanted. I have just started using for some ASP.net migration trials on Windows with VirtualBox. I just needed to start Apache and set up port forwarding. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet

    – Larry Smithmier
    Aug 18 '10 at 1:07
















8












8








8


1






I am setting up a development server and want to set it up to serve ASP.NET pages using Mono. I am planning on using Cherokee and Mono (http://www.cherokee-project.com/doc/cookbook_mono.html) and wondered if anyone had done any performance testing comparing the Unix based stack to the Windows based.










share|improve this question
















I am setting up a development server and want to set it up to serve ASP.NET pages using Mono. I am planning on using Cherokee and Mono (http://www.cherokee-project.com/doc/cookbook_mono.html) and wondered if anyone had done any performance testing comparing the Unix based stack to the Windows based.







performance mono .net asp.net






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 11 '10 at 13:00







Bertrand Lorentz

















asked Aug 10 '10 at 23:22









Larry SmithmierLarry Smithmier

40521014




40521014













  • I ended up going to the SuseGallery[1] and did a quick search for Mono and found JEOS Mono ASP.net[2] which was already setup for what I wanted. I have just started using for some ASP.net migration trials on Windows with VirtualBox. I just needed to start Apache and set up port forwarding. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet

    – Larry Smithmier
    Aug 18 '10 at 1:07





















  • I ended up going to the SuseGallery[1] and did a quick search for Mono and found JEOS Mono ASP.net[2] which was already setup for what I wanted. I have just started using for some ASP.net migration trials on Windows with VirtualBox. I just needed to start Apache and set up port forwarding. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet

    – Larry Smithmier
    Aug 18 '10 at 1:07



















I ended up going to the SuseGallery[1] and did a quick search for Mono and found JEOS Mono ASP.net[2] which was already setup for what I wanted. I have just started using for some ASP.net migration trials on Windows with VirtualBox. I just needed to start Apache and set up port forwarding. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet

– Larry Smithmier
Aug 18 '10 at 1:07







I ended up going to the SuseGallery[1] and did a quick search for Mono and found JEOS Mono ASP.net[2] which was already setup for what I wanted. I have just started using for some ASP.net migration trials on Windows with VirtualBox. I just needed to start Apache and set up port forwarding. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet

– Larry Smithmier
Aug 18 '10 at 1:07












2 Answers
2






active

oldest

votes


















7














When testing Mono/Linux vs .NET/Windows workloads, you have to remember that there is more at play than just the runtime environment.



There are areas in which Linux performs better than Windows (Most IO and network operations tend to be faster for comparable C programs). At the same time, .NET has a more advanced garbage collector and a more advanced JIT compiler.



When it comes to the class libraries, it really depends on what code paths you are using. As JacksonH said on a previous post, you can hit code paths that have been optimized in one implementation, but not on the other, and viceversa.



On ASP.NET workloads you have to remember that the default setup will route all incoming requests to a single "worker" process, mod_mono and Cherokee use a similar approach:



Many HTTP server to one mod-mono-server
(source: mono-project.com)



At least with Apache we support a mechanism where you can divide application workloads across multiple workers, which helps under high loads as it avoids any in-process locking and gives each worker a whole thread pool to work from:



Routing requests to different ASP.NET hosts with mod_mono
(source: mono-project.com)

The details on how to configure this setup are available here:



http://mono-project.com/Mod_mono






share|improve this answer

































    7














    This is kinda a non-answer. However there isn't a real answer here. Unfortunately this thing is highly application-dependent. Your app could hit on something that Mono happens to do really well or you might be heavily using something that is implemented poorly or has some bugs. It's not really a case of Mono being X times slower/faster than IIS.



    My suggestion is to take your app, deploy it on two different EC2 instances (one Windows and one Mono) and do your testing there. If you find major issues on the Mono instance, please report them and we'll try to get things improved.



    All that being said, I can tell you from personal experience that Mono aspx does perform really well.






    share|improve this answer


























    • Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

      – B.R.
      Aug 11 '10 at 16:44











    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f179%2fhas-anyone-got-any-performance-numbers-comparing-iis-and-net-to-cherokee-and-mo%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    7














    When testing Mono/Linux vs .NET/Windows workloads, you have to remember that there is more at play than just the runtime environment.



    There are areas in which Linux performs better than Windows (Most IO and network operations tend to be faster for comparable C programs). At the same time, .NET has a more advanced garbage collector and a more advanced JIT compiler.



    When it comes to the class libraries, it really depends on what code paths you are using. As JacksonH said on a previous post, you can hit code paths that have been optimized in one implementation, but not on the other, and viceversa.



    On ASP.NET workloads you have to remember that the default setup will route all incoming requests to a single "worker" process, mod_mono and Cherokee use a similar approach:



    Many HTTP server to one mod-mono-server
    (source: mono-project.com)



    At least with Apache we support a mechanism where you can divide application workloads across multiple workers, which helps under high loads as it avoids any in-process locking and gives each worker a whole thread pool to work from:



    Routing requests to different ASP.NET hosts with mod_mono
    (source: mono-project.com)

    The details on how to configure this setup are available here:



    http://mono-project.com/Mod_mono






    share|improve this answer






























      7














      When testing Mono/Linux vs .NET/Windows workloads, you have to remember that there is more at play than just the runtime environment.



      There are areas in which Linux performs better than Windows (Most IO and network operations tend to be faster for comparable C programs). At the same time, .NET has a more advanced garbage collector and a more advanced JIT compiler.



      When it comes to the class libraries, it really depends on what code paths you are using. As JacksonH said on a previous post, you can hit code paths that have been optimized in one implementation, but not on the other, and viceversa.



      On ASP.NET workloads you have to remember that the default setup will route all incoming requests to a single "worker" process, mod_mono and Cherokee use a similar approach:



      Many HTTP server to one mod-mono-server
      (source: mono-project.com)



      At least with Apache we support a mechanism where you can divide application workloads across multiple workers, which helps under high loads as it avoids any in-process locking and gives each worker a whole thread pool to work from:



      Routing requests to different ASP.NET hosts with mod_mono
      (source: mono-project.com)

      The details on how to configure this setup are available here:



      http://mono-project.com/Mod_mono






      share|improve this answer




























        7












        7








        7







        When testing Mono/Linux vs .NET/Windows workloads, you have to remember that there is more at play than just the runtime environment.



        There are areas in which Linux performs better than Windows (Most IO and network operations tend to be faster for comparable C programs). At the same time, .NET has a more advanced garbage collector and a more advanced JIT compiler.



        When it comes to the class libraries, it really depends on what code paths you are using. As JacksonH said on a previous post, you can hit code paths that have been optimized in one implementation, but not on the other, and viceversa.



        On ASP.NET workloads you have to remember that the default setup will route all incoming requests to a single "worker" process, mod_mono and Cherokee use a similar approach:



        Many HTTP server to one mod-mono-server
        (source: mono-project.com)



        At least with Apache we support a mechanism where you can divide application workloads across multiple workers, which helps under high loads as it avoids any in-process locking and gives each worker a whole thread pool to work from:



        Routing requests to different ASP.NET hosts with mod_mono
        (source: mono-project.com)

        The details on how to configure this setup are available here:



        http://mono-project.com/Mod_mono






        share|improve this answer















        When testing Mono/Linux vs .NET/Windows workloads, you have to remember that there is more at play than just the runtime environment.



        There are areas in which Linux performs better than Windows (Most IO and network operations tend to be faster for comparable C programs). At the same time, .NET has a more advanced garbage collector and a more advanced JIT compiler.



        When it comes to the class libraries, it really depends on what code paths you are using. As JacksonH said on a previous post, you can hit code paths that have been optimized in one implementation, but not on the other, and viceversa.



        On ASP.NET workloads you have to remember that the default setup will route all incoming requests to a single "worker" process, mod_mono and Cherokee use a similar approach:



        Many HTTP server to one mod-mono-server
        (source: mono-project.com)



        At least with Apache we support a mechanism where you can divide application workloads across multiple workers, which helps under high loads as it avoids any in-process locking and gives each worker a whole thread pool to work from:



        Routing requests to different ASP.NET hosts with mod_mono
        (source: mono-project.com)

        The details on how to configure this setup are available here:



        http://mono-project.com/Mod_mono







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Feb 18 at 10:31









        Glorfindel

        2851410




        2851410










        answered Aug 12 '10 at 1:01









        miguel.de.icazamiguel.de.icaza

        4,29322525




        4,29322525

























            7














            This is kinda a non-answer. However there isn't a real answer here. Unfortunately this thing is highly application-dependent. Your app could hit on something that Mono happens to do really well or you might be heavily using something that is implemented poorly or has some bugs. It's not really a case of Mono being X times slower/faster than IIS.



            My suggestion is to take your app, deploy it on two different EC2 instances (one Windows and one Mono) and do your testing there. If you find major issues on the Mono instance, please report them and we'll try to get things improved.



            All that being said, I can tell you from personal experience that Mono aspx does perform really well.






            share|improve this answer


























            • Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

              – B.R.
              Aug 11 '10 at 16:44
















            7














            This is kinda a non-answer. However there isn't a real answer here. Unfortunately this thing is highly application-dependent. Your app could hit on something that Mono happens to do really well or you might be heavily using something that is implemented poorly or has some bugs. It's not really a case of Mono being X times slower/faster than IIS.



            My suggestion is to take your app, deploy it on two different EC2 instances (one Windows and one Mono) and do your testing there. If you find major issues on the Mono instance, please report them and we'll try to get things improved.



            All that being said, I can tell you from personal experience that Mono aspx does perform really well.






            share|improve this answer


























            • Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

              – B.R.
              Aug 11 '10 at 16:44














            7












            7








            7







            This is kinda a non-answer. However there isn't a real answer here. Unfortunately this thing is highly application-dependent. Your app could hit on something that Mono happens to do really well or you might be heavily using something that is implemented poorly or has some bugs. It's not really a case of Mono being X times slower/faster than IIS.



            My suggestion is to take your app, deploy it on two different EC2 instances (one Windows and one Mono) and do your testing there. If you find major issues on the Mono instance, please report them and we'll try to get things improved.



            All that being said, I can tell you from personal experience that Mono aspx does perform really well.






            share|improve this answer















            This is kinda a non-answer. However there isn't a real answer here. Unfortunately this thing is highly application-dependent. Your app could hit on something that Mono happens to do really well or you might be heavily using something that is implemented poorly or has some bugs. It's not really a case of Mono being X times slower/faster than IIS.



            My suggestion is to take your app, deploy it on two different EC2 instances (one Windows and one Mono) and do your testing there. If you find major issues on the Mono instance, please report them and we'll try to get things improved.



            All that being said, I can tell you from personal experience that Mono aspx does perform really well.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Mar 19 '11 at 17:53









            Tshepang

            26.2k71186264




            26.2k71186264










            answered Aug 11 '10 at 2:08









            jacksonhjacksonh

            3,02611513




            3,02611513













            • Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

              – B.R.
              Aug 11 '10 at 16:44



















            • Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

              – B.R.
              Aug 11 '10 at 16:44

















            Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

            – B.R.
            Aug 11 '10 at 16:44





            Seconding--I use Apache + mod_mono, and it performs very well once it gets started. The only time I see slowness is during the initial page load, but this is common with pretty much everything (Rails, etc.).

            – B.R.
            Aug 11 '10 at 16:44


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f179%2fhas-anyone-got-any-performance-numbers-comparing-iis-and-net-to-cherokee-and-mo%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to make a Squid Proxy server?

            第一次世界大戦

            Touch on Surface Book