Has anyone got any performance numbers comparing IIS and .NET to Cherokee and Mono?
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
add a comment |
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
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
add a comment |
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
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
performance mono .net asp.net
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
add a comment |
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
add a comment |
2 Answers
2
active
oldest
votes
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:

(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:

(source: mono-project.com)
The details on how to configure this setup are available here:
http://mono-project.com/Mod_mono
add a comment |
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.
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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:

(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:

(source: mono-project.com)
The details on how to configure this setup are available here:
http://mono-project.com/Mod_mono
add a comment |
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:

(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:

(source: mono-project.com)
The details on how to configure this setup are available here:
http://mono-project.com/Mod_mono
add a comment |
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:

(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:

(source: mono-project.com)
The details on how to configure this setup are available here:
http://mono-project.com/Mod_mono
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:

(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:

(source: mono-project.com)
The details on how to configure this setup are available here:
http://mono-project.com/Mod_mono
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
add a comment |
add a comment |
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.
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
add a comment |
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.
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
add a comment |
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.
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.
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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