The performance difference is in startup, not execution. Code load and
reload (during dev) slower on Windows than Linux, and is due how Ruby
C code is implemented.
Once the application starts performance is very good.
Dont know about IIS but running rails on Windows is dog slow. I develop
on a Windows box and deploy on Linux and the speed difference is marked.
Have heard the same from others.
Pieter Hugo
I got a blank Rails project up and running and I noticed it takes at
least 30-60 secs to load up the hello page on an idle server, sometimes
much longer and this delay is highly variable. This is just crazy. From
my research via Google it does not appear to be just an IIS problem
either, although its apparently much worse on IIS. I have also
discovered that there are complaints about ruby being slower by orders
of magnitude compared to other scripting languages, rails performance
being generally poor and an apparent self-defeating reluctance by the
developpers to support rails properly on the worlds most popular
commercial platform. This is a great shame, since the potential for
development appears to be huge if the hype is to be believed but the
above problems appear to be an obstacle to takeup.
I still need to understand terms such as rack, passenger, mongrel,
webrick etc and where they fit in but I'm already thinking of abandoning
rails. However, before I do that, I am going to test it for comparison
on Apache for Windows.
> Dont know about IIS but running rails on Windows is dog slow. I develop
> on a Windows box and deploy on Linux and the speed difference is marked.
> Have heard the same from others.
> Pieter Hugo
I got a blank Rails project up and running and I noticed it takes at
least 30-60 secs to load up the hello page on an idle server, sometimes
much longer and this delay is highly variable. This is just crazy. From
my research via Google it does not appear to be just an IIS problem
either, although its apparently much worse on IIS. I have also
discovered that there are complaints about ruby being slower by orders
of magnitude compared to other scripting languages, rails performance
being generally poor and an apparent self-defeating reluctance by the
developpers to support rails properly on the worlds most popular
commercial platform. This is a great shame, since the potential for
development appears to be huge if the hype is to be believed but the
above problems appear to be an obstacle to takeup.
The first request, which loads the code in memory will be slow, even
slower in development mode due code reload and because loading code in
Windows is slow (again, see my previous response)
I still need to understand terms such as rack, passenger, mongrel,
webrick etc and where they fit in but I'm already thinking of abandoning
rails. However, before I do that, I am going to test it for comparison
on Apache for Windows.
Will not make a difference, please see my previous comment.
At this time, if you have the alternative to implement your
application in other than IIS or WIndows, go to Linux and use 1.9.3 +
Passenger and Nginx.
Dont know about IIS but running rails on Windows is dog slow. I develop
on a Windows box and deploy on Linux and the speed difference is marked.
Have heard the same from others.
Pieter Hugo
I got a blank Rails project up and running and I noticed it takes at
least 30-60 secs to load up the hello page on an idle server, sometimes
much longer and this delay is highly variable. This is just crazy. From
my research via Google it does not appear to be just an IIS problem
either, although its apparently much worse on IIS. I have also
discovered that there are complaints about ruby being slower by orders
of magnitude compared to other scripting languages, rails performance
being generally poor and an apparent self-defeating reluctance by the
developpers to support rails properly on the worlds most popular
commercial platform. This is a great shame, since the potential for
development appears to be huge if the hype is to be believed but the
above problems appear to be an obstacle to takeup.
I still need to understand terms such as rack, passenger, mongrel,
webrick etc and where they fit in but I'm already thinking of abandoning
rails. However, before I do that, I am going to test it for comparison
on Apache for Windows.
You should file a bug report with Microsoft asking them to create ruby/rails cgi/gateway to deploy applications via IIS. Maybe the world's most popular commercial platform should learn to support middleware other than their own.
Where I work we are a MS shop but I got ROR in there. I did get my ap
running on a win 2k with apache. I actually had .asp and ROR apps
running on the same box. My ROR app was slow. I was able to spin up a
Ubuntu VM and it ran faster. When I showed that I was BBD they liked
that. Showing them my method of testing and building they got
comfortable with it. Now we are rewriting one of our enterprise apps
in ROR. Communication was the key and it didn't happen over night. I
feel lucky.
I never had to use the "but your iPad isn't a windows product."
Good luck. Keep pushing. Show the managers how it will help them. All
the gems you can use to save time to write apps. Saving time = spacing
money right?
It did sped it up. I actually had ISS and Apache serving pages on the
same box.
I also got nginx to run on it. Seemed flakey. This is also two years
ago.
My ISS app was used to check what is available to rent by our sales
team. Worked fine. I wouldn't try a heavy traffic site on it.
Like I said it's been a while but I might have some posts on what I
did
http://johnivanoff.blogspot.com
I sure have some files laying around too.
Any questions let me know.
This seems like a cruel joke to have to constrain RoR, or any modern web
framework to IIS. If your company are concerned about rails
implementations not being "enterprise" enough, then JRuby comes to the
rescue - coupling the ease of rails with the enterprise power of the JVM
- possibly worth a look.
Apache + Passenger will be much quicker than IIS for running Rails, as
Passenger was designed to do it, unlike IIS. If you're waiting 30sec+
for first page load though, something else is wrong - if I take a deep
breath go back to windows, it takes around 5sec here with a modern CPU
and MRI1.9.2.
This seems like a cruel joke to have to constrain RoR, or any modern web
framework to IIS. If your company are concerned about rails
implementations not being "enterprise" enough, then JRuby comes to the
rescue - coupling the ease of rails with the enterprise power of the JVM
- possibly worth a look.
Oh yes, because IIS is a piece of brachiosaurus bond, found by Microsoft
somewhere near Silicon Valley Funny though, ASP.NET and Node.js on
IIS make Rails a sad joke, both being modern-shmodern all right.
Apache + Passenger will be much quicker than IIS for running Rails, as
Passenger was designed to do it, unlike IIS. If you're waiting 30sec+
for first page load though, something else is wrong - if I take a deep
breath go back to windows, it takes around 5sec here with a modern CPU
and MRI1.9.2.
I’m not sure Apache was designed for Rails either. Passenger does all
the job. But it’s not the fastest solution! We did several performance
tests, comparing IIS (with Helicon Zoo), Apache and Nginx on both
Windows and Ubuntu. The first place took Nginx+Thin on Ubuntu. With
little difference there was IIS+Helicon Zoo. Apache+Passenger took 3rd
place. Other combinations were worse.
Well, 2—3 years ago there was a gap between Ruby developers on Windows
and Linux/Mac. But there isn’t any more. Windows actually gets much more
attention by both MRI and gems developers. I can assure you, IIS is
robust and mature web-server and the platform is ready to host Ruby
applications.