服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

在EC2 / Nginx /乘客performanceRMagick是可怕的

我有一个小的RoR应用程序,使用RMagick生成图像,性能不是在我认为会的地方。 服务器configuration是运行Rails 3.1RC4 / Ruby 1.9.2 / Nginx / Passenger的EC2上的64位Ubuntu 11.04映像。 我已经尝试了几个不同的Amazon实例types,从小(32位图像)到c1.xlarge,结果非常相似。 激发ApacheBench(ab -n 10 -c 1)给我一个可接受的300ms的平均响应时间,testing在大约2秒钟内完成,但是增加到5个并发甚至2个并发请求将性能降低到1500ms,并且testing需要更长的时间。 即使在大型实例types中,ab运行(ab -n 10 -c 10)也会使系统降低到5000ms。 我预计响应时间将保持非常一致,但总时间会下降。 这是不正确的假设吗? 在每次testing中,内存永远都不会很高(<1GB),但是CPU运行在100%。 我的MacBook Pro运行开发模式可以匹配这些数字。 它几乎看起来像什么东西是单线程的地方。 该应用程序几乎是你可以得到的简单,唯一复杂的是RMagick调用。 是否有RMagick导致线程问题? 是否有更好的RoR应用程序服务器(Unicorn,Mongrel群集等)? 我是否正确使用ApacheBench? UPDATE 我添加了一些新的纯文本路由到configuration,他们performance非常好。 纯文本返回32K几乎没有导致CPU任何问题,我可以达到72瑞奇/秒(这可能受限于我的互联网连接,而不是EC2服务器)。 返回5字节超过250 req /秒。