Recently a friend of mine was tempted to use Pylons again instead of
Rails. He praised Pylons’s speed and low memory usage. While I agree
that Pylons might be a great web framework that’s both efficient and
fun to use I often don’t quite understand the arguments against
Rails/Ruby speed and complaints. I think quite a lot of people moan
about Ruby’s slowness based on what they read in the blogosphere not
on their personal experience. Comments like “Yeah, Rails may be cool
but Ruby is damn slow. I’m writing a webapp and it has to be a speed
demon thus I’m considering switching to Pyhton or even writing some
parts of it in C”.
Comments
antych replied ago:
Yeah, right. So where are all the high traffic web sites written in RoR?
I like Ruby, but as far as web is concerned it's still a toy. Let's wait until it proves itself, making excuses won't speed it up.
jwheeler1 replied ago:
Where are all the high traffic websites? Are you kidding me? How about 37 signals, Robot Coop products and 10 dozen other Web 2.0 sites? These might not be eBays or Amazons, but the site that you write probably isn't going to be either. If it does become so successful, you'll have different problems, and the resources it'll take to scale will be there for you.
With Rails, you save more in development time, and of course it scales linearly. Do you really think that increasing hardware resources for any application would have any other effect?
antych replied ago:
37 what? Robot what? Never heard of them. You must be kidding, right?
So your proof for Rails scalability and reliability is pure theory, is that it?
Saved development time, linear scaling, great, superb... How many RoR sites in top10, 100, 1000? Get real.
murphee replied ago:
You want examples? How about Twitter? Massive requirements and written in Ruby. They had performance troubles earlier this year - but after some architectural reconsiderations, figured out that their problems weren't Ruby related. And now, Twitter runs fine - still with Ruby.
And don't bother with that old silly approach of "If XXX is so great, why aren't the most popular sites/tools written in it?". This has been used forever when a technology is making its way... 10 years ago C/C++ devs were asking "If Java's so great, why isn't my Word processor/OS/Browser written in it? I only use the tools my Word processor/OS/Browser is written in"...
Great... with that attitude we'd still be messing about with assembler today... and of course, every successful app/service usually has a long history and has been some time in the making, so they'll be stuck with tools that were around when work started. After all, Rails _is_ only 2 years old... and the fact that sites like Twitter have success with it... well, I guess that says something, dudn't it?
antych replied ago:
Right, Twitter is the only major site in RoR I heard about and it's most famous for it scalability issues.
And it's not about great or not great. I'm saying that Rails scalability is questionable and it needs time to prove itself.
Instead of making excuses and pretending the problem doesn't exists, fix it and prove it. Actions speak louder than words.
Jeremy Weiskotten replied ago:
Performance and scalability are two very different problems with very different solutions. Sure, sometimes they're related and a solution to one solves/helps the other, but they're not the same thing and shouldn't be confused/conflated.
Twitter is the prime example and proof that Rails is performant and can scale: http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster
Other high traffic examples include Penny Arcade, Odeo, Basecamp/Backpack/Writeboard (37signals), 43things (1 million pages/day), and Revolution Health.
The fact that you aren't aware of or choose to ignore it isn't evidence that proof doesn't exist.
antych replied ago:
Twitter is the prime example that scaling Rails is a pain. And you call those *high* traffic sites?
For the hype Rails is getting its presence among top sites is next to zero. Why is it so hard to admit its flaws?
kogent replied ago:
twitter is actually a prime example of what happens when you don't architect your application proerly from the start and just start hacking away. This approach won't scale well regardless of the laguage/framework that you use.
Most of the scaling issues with Rails are due to bad algorithms used by the developer. (Admittedly there are a number of things about the framework lack efficiency, but much of this can be overcome through various code optomizations and proper design).
BTW, *really* high traffic sites have issues that go way beyond the scope of the software.
tomh- replied ago:
@antych: I think you don't got a very good understanding what scaling a system actually is. All twitters issues are not rails related. You and other people who are not well known with scalability issues just blame the framework or language for not having functionality which is build for sharding and partitioning of data. It's something you need to build yourself to fit your specific scenario. The authors of twitter apperently had no experience with that.
Also major sites like myspace, yahoo, ebay etc were all around longer than rails even exists. Why should sites like that switch from using a technology they heavily invested in to Rails? Just wait a couple of years till some of the new startups build in rails gain popularity. Those new apps don't get as popular as myspace instantly, they need time. I'm pretty sure you will look back at your comments and think of how stupid they were. Languages, frameworks don't scale, properly architectured designs scale..
antych replied ago:
Looks like I know more about scaling than you do. You loose full control of of your system using frameworks, it's a trade off.
And they can hurt your scalability just as your own code and design.
Jeremy Weiskotten replied ago:
Yeah, I think that millions of hits a day is high traffic.
antych replied ago:
You can serve more than few millions hits from a single LAMP server. It might be high traffic for you if you run small business, but it's nothing compared to top sites.
peimei replied ago:
So many flamers just spitting out the same old bullsh*t. Get correct information before you talk about what you don't understand. EVERY application has scaling issues to start, be it in Java, .Net, or PHP. Overcoming those is easily done with any language because it is an architecture issue, not a language issue.
Voters For This Link (17)
Voters Against This Link (8)