Just some glaring inconsistencies that I found:<p>1.<p>> 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>>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.
> By default, Raptor uses the multi-process blocking I/O model, just like Unicorn.<p>> 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't unicorn'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't think the web server was ever the problem for Rack/Ruby apps? Still on fence with this one until more details emerge. :-)
Does it seem weird to anyone else that they're doing all this marketing for a project that's supposedly going to be open source? Why all the suspense, why not just release it? Or, if it's not ready yet, why not just finish it and then start promoting it?
As someone working in an enterprise environment, I've sort of lost interest in this breed of Rack server now that I'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'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/Passenger servers aren't going away anytime soon.
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.
How would one use this on Heroku? It doesn'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://github.com/heroku/rails_12factor#rails-4-serve-stati...</a><p>Any ideas?
"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."<p>Quibble: most multi-process web servers use fork() for child processes, which means they can share identical memory pages.
Congratulations on Raptor, I'll definitely give it a whirl.
Regarding static asset serving, I'm fairly certain serving them through the application server is often not the way to go anyway.
Raptor seems pretty interesting, but personally I don't like its marketing approach, and I'm not the only one.<p>On twitter some ruby heroes say : " Raptor is 4x faster than existing ruby web servers for hello world applications" :)<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
The section "Hybrid evented/multithreaded: one event loop per thread" suggests that the whole model is basically SEDA [1]. I'm surprised the article does not directly reference the project/paper.<p>[1] <a href="http://www.eecs.harvard.edu/~mdw/papers/seda-sosp01.pdf" rel="nofollow">http://www.eecs.harvard.edu/~mdw/papers/seda-sosp01.pdf</a>
The "hybrid" 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://www.usenix.org/legacy/event/usenix99/full_papers/pai...</a>
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't allow Raptor to run on Rubinius or JRuby?
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..
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.
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/s anyway for load balancing, fail-over and exploit detection/prevention anyway.