【发布时间】:2011-12-30 13:46:01
【问题描述】:
前言:请不要开始讨论过早优化或任何相关内容。我只是想了解使用 Rails 的单个服务器可以获得什么样的性能。
我一直在 Rails 3 上对 ruby 进行基准测试,似乎我每秒可以获得的最高请求率约为每秒 100 个请求。
我在 nginx 和 Ruby 1.8.7 中使用了 phusion 乘客。
这是在一个 ec2 m1.large 实例上:
7.5 GB memory
4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)
850 GB instance storage
64-bit platform
I/O Performance: High
API name: m1.large
页面是一个非常简单的动作,将一行写入mysql。
user = User.new
user.name = "test"
user.save
我假设没有缓存(memcache 等),我只是想感受一下原始数字。
我在同一个 ec2 实例上使用了 apache bench,并且使用了不同级别的请求数(从 1000 到 10000 以及不同数量的并发请求 1/5/10/25/50/100)。
【问题讨论】:
-
好吧,如果您已经运行了测试并且您对优化不感兴趣,那么实际的问题是什么?
-
在 nginx 后面运行 Unicorn(8 个工作人员)的专用服务器(Ubuntu 11.04,双 Xeon E5620,12GB RAM)上,我每秒收到大约 1,200 个请求(在没有数据库命中的页面上)。
-
@Dylan 谢谢!,我知道 Phusion 乘客会自动扩展到幕后的更多工作人员,也许由于某种原因它没有启动?
标签: ruby-on-rails scalability benchmarking