知道这个东西很久了,记忆中的还是下面这张和mongrel的性能比较图片,但是一直没深入进去了解其到底如何。
从图上可以看到,除了
总体性能好于mongrel以外,最大的区别在于其在
100个并发的时候还能保证高性能,而100个并发的时候mongrel的性能非常差(且消耗很多的资源,经常由此导致请求无法处理,而出现503)。
今天花了点时间,把Thin从头到尾的看了一遍,然后连到一个服务器上试验了下,总体感觉如下:
-
- 安装方便,和mongrel差不多,一条命令就搞定;如果你需要还可以install到init下;
- 使用方便,嫌麻烦的直接thin start就OK了;
- 配置丰富,提供了很多可以配置的东西,比如max-conns,max-persistent-conns等;
- 可以集群,也非常方便,指定开始端口和实例的个数;
- 支持写配置文件,配置文件可以修改,重载。
- 支持做backend,前置nginx,配置和mongrel差不多。
- 可以走UNIX domain sockets;
- 节省资源,提供性能
使用过程大概如下,详细的参考资料:
1、安装
sudo gem install thin
2、启动测试
cd to/your/rails/app
thin start
3、配置集群
thin config -C 1sters.yml -s2 -p 7000
4、启动
thin start -C 1sters.yml
参考资料: