[ANN] Thin 0.5.1 LOLCAT released

409 views
Skip to first unread message

Marc-Andre Cournoyer

unread,
Jan 8, 2008, 12:26:05 AM1/8/08
to thin...@googlegroups.com
Hey all,

Version 0.5.1 (codename LOLCAT) of the fastest Ruby server is out!

Thin is a Ruby web server that glues together 3 of the best Ruby libraries in web history:
* the Mongrel parser: the root of Mongrel speed and security
* Event Machine: a network I/O library with extremely high scalability, performance and stability
* Rack: a minimal interface between webservers and Ruby frameworks
Which makes it, with all humility, the most secure, stable, fast and extensible Ruby web server
bundled in an easy to use gem for your own pleasure.

== What's new?

Even though Thin has been made public only 4 days ago, lots of things have happened since:
* Ruby 1.9 compatibility
* Better Rails adapter
* Thin support included in Ramaze and Vintage frameworks (Thin can also run Rails, Camping, Merb and more)
* Some bug fixes in header parsing

And some amazing numbers:

[~/projects/thin] ruby benchmark/simple.rb
server request concurrency req/s failures
=====================================================
WEBrick 1000 1 389.31 0
Mongrel 1000 1 1495.70 0
EMongrel 1000 1 2070.35 0
Thin 1000 1 2219.45 0
WEBrick 1000 10 366.16 0
Mongrel 1000 10 1501.02 0
EMongrel 1000 10 2562.43 0
Thin 1000 10 3129.64 0
WEBrick 1000 100 ERROR
Mongrel 1000 100 1500.82 0
EMongrel 1000 100 3031.29 0
Thin 1000 100 3372.49 0

[~/projects/thin] ruby19 benchmark/simple.rb
server request concurrency req/s failures
=====================================================
WEBrick 1000 1 506.33 0
Mongrel 1000 1 1768.31 0
Thin 1000 1 2528.11 0
WEBrick 1000 10 461.66 0
Mongrel 1000 10 1541.35 0
Thin 1000 10 4003.19 0
WEBrick 1000 100 ERROR
Mongrel 1000 100 1313.19 0
Thin 1000 100 4154.67 0

== Get it!

sudo gem install thin

(Might take some time for the gem mirrors to be updated, try adding
--source http://code.macournoyer.com to the command if it doesn't work)

== Contribute

Thin is driven by an active community of passionate coders and benchmarkers. Please join us, contribute
or share some ideas in Thin Google Group: http://groups.google.com/group/thin-ruby/topics

Also on IRC: #thin on freenode

Thanks to all the people who contributed to Thin, EventMachine, Rack and Mongrel.

Marc-Andre Cournoyer
http://code.macournoyer.com/thin/

Casper Fabricius

unread,
Jan 8, 2008, 4:03:18 AM1/8/08
to thin...@googlegroups.com
Hurray! I don't know what you did, but this fixed my yet-to-be-closer-
examined problem with Thin: That login on certain Rails apps didn't
work due to session or cookie data not being set/being deleted/being
ignored. With the previous release login in a standard installation of
Beast worked, but for a standard installation of RadiantCMS it didn't.

Now it works for both, so some sort of cookie/session/header problem
must have been resolved. Thanks!

Best regards,
Casper Fabricius

macournoyer

unread,
Jan 8, 2008, 7:17:13 AM1/8/08
to thin-ruby
Hey Casper,

Indeed, that was the "Some bug fixes in header parsing" part.
The problem occurred when there was more then one Set-Cookie header in
the response. This happen when you more then one cookie in your app
(one for the session + one other).

Glad it fixed your problem!

On Jan 8, 4:03 am, Casper Fabricius <casper.fabric...@gmail.com>
wrote:
> > --sourcehttp://code.macournoyer.comto the command if it doesn't  

Ben Schwarz

unread,
Jan 8, 2008, 8:01:39 AM1/8/08
to thin-ruby
Great stuff, this header issue had me looking embarrassed today after
a fresh copy of mephisto that
was 'working' failed to let one of my directors log in. Sadly we went
back to mongrel but I had every intention
of logging this such issue. Looks like you guys were all over it!

Top stuff.

On Jan 8, 8:03 pm, Casper Fabricius <casper.fabric...@gmail.com>
wrote:
> > --sourcehttp://code.macournoyer.comto the command if it doesn't  

macournoyer

unread,
Jan 8, 2008, 9:48:57 AM1/8/08
to thin-ruby
Thx for supporting Thin Ben and for the courage to put it in
production, I admire you!

I'd be interested to know how you set it up? Are you running a
cluster? How are you launching the cluster?

Don't hesitate to report any problem in the future, through this group
or send me an email directly!
> > > --sourcehttp://code.macournoyer.comtothe command if it doesn't  

Ben Schwarz

unread,
Jan 10, 2008, 12:28:09 AM1/10/08
to thin-ruby
I'd put it behind nginx with a couple of backends
that were started up with a simple rake task.

It is / was running mephisto for a blog that we're going
to launch once its populated with a lil' content.

I'll try to keep logging thin relations here.

Cheers
> > > > --sourcehttp://code.macournoyer.comtothecommand if it doesn't  
Reply all
Reply to author
Forward
0 new messages