最近我们的ruby on rails应用程序升级到2.3.8。我们还在升级期间用Phusion Passenger取代了Mongrel / Mongrel集群。
每当我们尝试部署我们的应用程序时,它似乎最初响应更快,但响应时间逐渐增加。我们还注意到数据库盒上的cpu使用率达到400%,并且许多请求在全局队列中等待。这似乎只发生在我们的生产环境中。
任何人都可以让我知道如何调试此问题吗?
我们是否可以限制乘客和DB之间的连接数量?
还有一种方法可以在乘客中设置连接池吗?
谢谢,
西瓦库玛。
答案 0 :(得分:1)
我认为问题不在于乘客。如果你的数据库盒CPU有一个大的峰值,你的问题可能就在那里。如果没有关于您的数据库的更多信息,很难给出具体细节,但您可以尝试以下几点:
top
并检查mysqld或其他数据库进程消耗的总内存量。如果此数量不高,那么您可能需要调整MySQL设置以利用数据库盒上的RAM。mytop
命令分析正在运行的数据库查询。您可能会遇到一些占用所有系统资源或导致大量交换的查询。P.S:我建议升级到Passenger 3,它的性能优于Passenter 2.