我对我公司目前正在运行的 coldfusion 服务器有一个问题。我们大约有 50 个活跃网站在该服务器上运行,平均每秒收到 1 个请求。我们最近开始与一个客户合作,该客户每秒向我们发送 32 个请求,以保持大量数据的最新状态。然而,我们注意到我们的内存使用量似乎在一小时内稳步增长,然后突然再次下降。在此下降之后,有 3 分钟的时间间隔服务器不接受(或记录)请求,这让我相信下降实际上是 coldfusion 重启。有时我们的页面加载时间很长或出现“会话不可用”消息,我不知道这是由于每秒 32 个请求还是其他问题造成的。
我拍摄了两张截图来展示内存随时间的增长和请求被拒绝的情况。
记忆:http://img9.imageshack.us/img9/5320/picture10zze.png
要求:http://img18.imageshack.us/img18/4378/picture11jh.png
我的问题:
1:这是我们服务器内存每小时增长和减少的正常行为吗(可能是某种自动清除?)
2:每秒 32 个请求对于良好的服务器来说是否是一个“重”负载。
3:请求量下降是否意味着我们的服务器正在重启?有什么方法可以检查吗?
这是运行iis7的Windows服务器。
答案1
您在图表中看到的似乎是 JVM 的内存问题。我首先会增加年轻代的大小,以便大型变量/对象可以保留在年轻代中而不会被提升。当主要 GC 发生时,内存会下降,从而清除内存。这里有一篇关于这个主题的优秀文章,应该可以帮助您入门:http://www.adobe.com/devnet/coldfusion/articles/coldfusion_performance.html 您应该能够通过以最少的代码更改来实现那里的想法,从而获得相当大的改进。不过您可能还想看看查询执行时间。