因此,我在 Ubuntu 上设置了一个 Amazon EC2 小型实例,并在 Passenger + Nginx 上运行 Ruby Enterprise Edition。我设置了 25 个 Passenger 实例,相对于并发连接数,性能下降非常快。
例如,在 JMeter 的 1 个并发连接中,响应时间不到 1 秒。然后在 5 个并发连接中,响应时间超过 1 秒。当我尝试 10 个并发连接时,响应时间平均在 3-7 秒之间!
我想象既然我有 25 个实例在运行,它至少应该能够处理 25 个并发连接而不会造成太多性能下降?显然,我是 Web 服务器的新手……有人能向我解释一下这种性能下降的原因吗?
是不是……CPU 太慢了?我觉得 1.7GB 内存应该足够了……考虑到每个实例显然只运行了大约 30MB 的内存。
如果您对如何正确配置 Passenger + Nginx 有任何进一步的见解,我们将不胜感激!!
谢谢!
答案1
您应该在进行测试时查看 CPU 和内存的使用情况。
根据您的描述(并且不了解任何代码),听起来好像 CPU 陷入了困境,或者可能正在等待某个地方的某些锁定资源(数据库?)。