Nate Berkopec writes about Ruby and Rails performance, covering Puma, memory use, garbage collection, and ActiveRecord.
Commenters cite it for the claim that page weight matters less than assumed, and for HTTP/2 and Ruby server tuning advice.
Unpopular truth: Lowering page weight doesn't often help web performance.
https://www.speedshop.co/2015/11/05/page-weight-doesnt-matter.html
> Bandwidth is not the problem, and the performance of the web will not improve as broadband access becomes more widespread.
> The problem is latency. Most of our networking protocols require a lot of round-trips. Each of those round trips imposes a latency penalty. Latency is governed, at the end of the day, by the speed of light. Which means that latency isn’t going anywhere.
Of course, this will get downvoted on an all-text forum. That won't make it less true.
It all comes down to what you're doing. To put it another way: it depends. Obviously, writing logic in Go can boost performance, but one needs to assess that that's where the slowdown actually is first. One can also eke out a lot more speed from ruby/rails than you'd think! [0]
For a lot of people (and businesses), Ruby more than suffices. If it doesn't, other languages always exist. So no, Ruby is far from doomed–one just needs to evaluate the pros and cons of Ruby vs something like Go, etc. Ruby with Rails isn't hype or sexy technology, but it is quite mature and robust.
[0]: https://www.speedshop.co/
This sounds great! Are there any things I need to watch out for before switching from Puma to Falcon? And is it production-ready now, or does it still need some time to mature and have feature parity with other web servers?
This is a great article about the different Ruby web servers (from 2015): https://www.speedshop.co/2015/07/29/scaling-ruby-apps-to-1000-rpm.html
Would be great to have a comparison with Falcon. Also, speaking of performance, I still need to set up jemalloc. Have heard lots of good things about that.
Don’t you have an nginx/Apache in front? If you tell it to serve HTTP/2 don’t you already get 95% of the benefits?
EDIT: e.g. bottom of https://www.speedshop.co/2016/01/07/what-http2-means-for-ruby-developers.html
Not sure. My blog uses Milligram inlined into the head tag: https://www.speedshop.co/blog/