Mongrel's Going to Kill Webrick, Give It a Month #
You’ve got to see for yourself this web server Zed Shaw is working on. He’s writing a competitor to Webrick which is serving at ten times its speed. A recent release is Mongrel 0.1.1. The API is still coming together, but the basics are etched.
Here’s some “meaningless” benchmarks from ruby-talk. Each requests the result of a “Hello”-puts’ing simple script.
[Mongrel] % ab -n 10000 http://localhost:3000/test Requests per second: 660.20 [#/sec] (mean) [Webrick] % ab -n 10000 http://localhost:4000/test Requests per second: 37.90 [#/sec] (mean) [CherryPy] % ab -n 10000 http://localhost:8080/ Requests per second: 164.92 [#/sec] (mean) [LuaWeb] % ab -n 10000 http://localhost:1080/hello Requests per second: 948.32 [#/sec] (mean) [httpd] % ab -n 10000 http://localhost/test.txt Requests per second: 1218.47 [#/sec] (mean) [lighttpd] % ab -n 10000 http://localhost:8888/test.txt Requests per second: 3652.30 [#/sec] (mean)
Wow, LuaWeb is quick! For more on the server versions used and all that, see the thread for yourself.
onox
What are the differences in architecture between Mongrel and Webrick. Webrick uses ‘servlets’, right?
why
Yeah, Mongrel does the same. You mount an object at a URL .
lunatic
I wonder what makes Lua so much faster than all other scripting languages.
ozmm
lunatic: determination
nosedog
lunatic: simplicity of the language
kode
black magic.
hgs
The Lua maintainers aim for speed and to minimize language growth: they are explicitly reluctant to add features.
But given recent postings here, I have to ask: Where is the lisp one? Tcl?
riffraff
ah, the greatness of Lua’s coroutines. And now that I notice that my message did’nt make it to ruby-talk (nntp/smtp gw broken again?), I think I’ll iterate: I wonder how twisted.web will fare, and about adding ”-c 10” to the ab cmdline. Mh..
Michael
cherrypy can serve with cgi, fcgi, scgi, mod_python… all with different performance. Which was used?
farfignugen
The CherryPy server is running on port 8080, so it’s probably the builtin python webserver they include with it. (The performance indicates that too.)
<|:{
Save Webrick! don’t let it go extinct!
robert
Rails will save Webrick.
Could do with this as well, though…
Branstrom
Why would the Rails people want to stay with Webrick? This is the way better alternative, right?
Chuck
This is not necessarily a better alternative for everybody. WEBrick is 100% Ruby, while this is like 97% Ruby with a C extension. So if you don’t want to compile an extension, WEBrick is still the server for you.
jt
and obviously most people don’t want to compile a C extension as that means is not really ‘portable’ Thats too bad, I was looking forward to using this until I saw that bit about C code.
jt
and obviously most people don’t want to compile a C extension as that means is not really ‘portable’ Thats too bad, I was looking forward to using this until I saw that bit about C code.
snej
Lua 5 has a very advanced interpreter (it’s apparently the first register-based virtual machine). The language is also quite a bit simpler, which may make the runtime easier to optimize.
jt: I don’t understand what the problem is with a C extension, as long as it builds and runs on my platform. If I can type “make” and “make install” and get faster performance, that seems like a pretty good deal.
Branstrom
Those others are just serving a static textfile… Isn’t that unfair?
Comments are closed for this entry.