hoodwink.d enhanced
RSS
2.0
XHTML
1.0

RedHanded

Mongrel's Going to Kill Webrick, Give It a Month #

by why in inspect

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.

said on 23 Jan 2006 at 18:39

What are the differences in architecture between Mongrel and Webrick. Webrick uses ‘servlets’, right?

said on 23 Jan 2006 at 19:04

Yeah, Mongrel does the same. You mount an object at a URL .

said on 23 Jan 2006 at 20:05

I wonder what makes Lua so much faster than all other scripting languages.

said on 23 Jan 2006 at 20:10

lunatic: determination

said on 24 Jan 2006 at 03:19

lunatic: simplicity of the language

said on 24 Jan 2006 at 03:35

black magic.

said on 24 Jan 2006 at 04:09

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?

said on 24 Jan 2006 at 04:10

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..

said on 24 Jan 2006 at 04:56

cherrypy can serve with cgi, fcgi, scgi, mod_python… all with different performance. Which was used?

said on 24 Jan 2006 at 08:20

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.)

said on 24 Jan 2006 at 13:46

Save Webrick! don’t let it go extinct!

said on 25 Jan 2006 at 15:09

Rails will save Webrick.

Could do with this as well, though…

said on 26 Jan 2006 at 12:48

Why would the Rails people want to stay with Webrick? This is the way better alternative, right?

said on 26 Jan 2006 at 17:05

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.

said on 26 Jan 2006 at 21:19

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.

said on 26 Jan 2006 at 21:19

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.

said on 28 Jan 2006 at 21:47

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.

said on 01 Feb 2006 at 09:05

Those others are just serving a static textfile… Isn’t that unfair?

Comments are closed for this entry.