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

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

said on

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

said on

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

said on

lunatic: determination

said on

lunatic: simplicity of the language

said on

black magic.

said on

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

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

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

said on

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

Save Webrick! don’t let it go extinct!

said on

Rails will save Webrick.

Could do with this as well, though…

said on

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

said on

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

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

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

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

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

Comments are closed for this entry.