TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How we’ve made Raptor fast

178 pointsby triskwelineover 10 years ago

21 comments

gnufiedover 10 years ago
Just some glaring inconsistencies that I found:<p>1.<p>&gt; It’s less work for the user. You don’t have to setup Nginx. If you’re not familiar with Nginx, then using Raptor means you’ll have one tool less to worry about.<p>&gt;For example, our builtin HTTP server doesn’t handle static file serving at all, nor gzip compression.<p>Sounds like I would need nginx(or another frontend server) anyways?<p>2. &gt; By default, Raptor uses the multi-process blocking I&#x2F;O model, just like Unicorn.<p>&gt; When we said that Raptor’s builtin HTTP server is evented, we were not telling the entire truth. It is actually hybrid multithreaded and evented.<p>So, which it is? I assume by default is multi-process + events, but a paid version offers multithreaded + events? If so, isn&#x27;t unicorn&#x27;s model of multi-process+blocking IO is pretty good as well because OS becomes load balancer in that case.<p>Overall it seems they wrote a very fast web server. Kudos to that! But I don&#x27;t think the web server was ever the problem for Rack&#x2F;Ruby apps? Still on fence with this one until more details emerge. :-)
评论 #8588505 未加载
bratscheover 10 years ago
Does it seem weird to anyone else that they&#x27;re doing all this marketing for a project that&#x27;s supposedly going to be open source? Why all the suspense, why not just release it? Or, if it&#x27;s not ready yet, why not just finish it and then start promoting it?
评论 #8588339 未加载
评论 #8588334 未加载
bithive123over 10 years ago
As someone working in an enterprise environment, I&#x27;ve sort of lost interest in this breed of Rack server now that I&#x27;ve gotten used to having SSO and LDAP authorization available via Apache modules, to name a few features. Apache allows me to accommodate all sorts of requirements like setting up vhosts that require authentication except on the LAN, or vhosts which allow members of certain groups to access an internal app via reverse proxying.<p>I don&#x27;t mean to be negative; other posters have that angle covered. But I would comment that this ongoing proliferation in prefork backends is hardly disruptive to organizations who have already made significant commitments to Ruby web apps. Our Apache&#x2F;Passenger servers aren&#x27;t going away anytime soon.
rarepostinlurkrover 10 years ago
This is Passenger Phusion +1. As was pointed out in a thread several months ago, the DNS resolves to the same place. The writing style is similar and the feature set far too mature for a 1.0 product.
randallover 10 years ago
How would one use this on Heroku? It doesn&#x27;t support static file transfers allegedly... and per Heroku they require your app server to serve them by default.<p><a href="https://github.com/heroku/rails_12factor#rails-4-serve-static-assets" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;heroku&#x2F;rails_12factor#rails-4-serve-stati...</a><p>Any ideas?
评论 #8588191 未加载
评论 #8588184 未加载
fiatmoneyover 10 years ago
&quot;You will need 5000 processes (1 client per process). A reasonably large Rails app can consume 250 MB per process, so you’ll need 1.2 TB of RAM.&quot;<p>Quibble: most multi-process web servers use fork() for child processes, which means they can share identical memory pages.
评论 #8587882 未加载
评论 #8589392 未加载
评论 #8587913 未加载
hurrycaneover 10 years ago
I strongly believe that this is the next version of Phusion Passenger.
评论 #8587992 未加载
triskwelineover 10 years ago
Spoiler: Insane amounts of low-level optimization.
评论 #8587626 未加载
评论 #8587994 未加载
评论 #8587700 未加载
jonaphinover 10 years ago
Congratulations on Raptor, I&#x27;ll definitely give it a whirl. Regarding static asset serving, I&#x27;m fairly certain serving them through the application server is often not the way to go anyway.
resca79over 10 years ago
Raptor seems pretty interesting, but personally I don&#x27;t like its marketing approach, and I&#x27;m not the only one.<p>On twitter some ruby heroes say : &quot; Raptor is 4x faster than existing ruby web servers for hello world applications&quot; :)<p>The strong proclamations in favour of an open source project is a little bit strange if the open code is not yet released.<p>However I hope that all graphs on the home page are real for the ruby programmers happiness
alvareover 10 years ago
<a href="http://www.yesodweb.com/blog/2012/11/warp-posa" rel="nofollow">http:&#x2F;&#x2F;www.yesodweb.com&#x2F;blog&#x2F;2012&#x2F;11&#x2F;warp-posa</a>
coviover 10 years ago
The section &quot;Hybrid evented&#x2F;multithreaded: one event loop per thread&quot; suggests that the whole model is basically SEDA [1]. I&#x27;m surprised the article does not directly reference the project&#x2F;paper.<p>[1] <a href="http://www.eecs.harvard.edu/~mdw/papers/seda-sosp01.pdf" rel="nofollow">http:&#x2F;&#x2F;www.eecs.harvard.edu&#x2F;~mdw&#x2F;papers&#x2F;seda-sosp01.pdf</a>
jrkover 10 years ago
The &quot;hybrid&quot; IO architecture is historically known as AMPED (asynchronous multi-process event driven): <a href="https://www.usenix.org/legacy/event/usenix99/full_papers/pai/pai.pdf" rel="nofollow">https:&#x2F;&#x2F;www.usenix.org&#x2F;legacy&#x2F;event&#x2F;usenix99&#x2F;full_papers&#x2F;pai...</a>
simonmalesover 10 years ago
Puma says it runs best when using Rubinius or JRuby, but from my limited understanding, not everything can run on those implementations.<p>Are there any giveaways in the blog that wouldn&#x27;t allow Raptor to run on Rubinius or JRuby?
评论 #8590603 未加载
评论 #8589104 未加载
jcampbell1over 10 years ago
Does anyone know if the 60.000 in the chart means 60 or 60,000?
评论 #8588677 未加载
评论 #8588682 未加载
评论 #8588561 未加载
Ono-Sendaiover 10 years ago
Not bad work. Seems somewhat futile though, since the speed will probably be massively slowed down by the actual ruby application code and database accesses etc..
评论 #8588054 未加载
评论 #8587832 未加载
mrinterwebover 10 years ago
I am all for a faster ruby application server. If Raptop can stand behind its claims on November 25th, that will be the best birthday present I could get.
corfordover 10 years ago
Slightly OT but does uwsgi feature much in the ruby world? &#x2F;from a curious python guy
评论 #8588171 未加载
评论 #8587660 未加载
评论 #8587707 未加载
swrobelover 10 years ago
Does it support SPDY?
coned88over 10 years ago
what are these instead of just using a webserver like apache or nginx?
评论 #8587593 未加载
评论 #8587610 未加载
评论 #8587611 未加载
kondroover 10 years ago
Does this mean that the majority of the performance improvements over Puma actually come from the fact that they are using the considerably less battle-tested HTTP parser of PicoHTTPParser over the Mongrel one?<p>Of course, this may be mitigated by the fact that any reasonable production environment will have a web server layer over the app server&#x2F;s anyway for load balancing, fail-over and exploit detection&#x2F;prevention anyway.
评论 #8587767 未加载