最近我收到了来自我的CF服务器的错误消息,通过电子邮件说明:
“ColdFusion:无响应的服务器警报激活”
10个或更多线程忙碌超过60秒。
- 总运行要求 - 28
- 总排队请求数 - 0
- 模板运行请求 - 28
- 模板排队请求 - 0
- Flash Remoting正在运行请求 - 0
- Flash Remoting排队请求 - 0
- CFC方法运行请求 - 0
- CFC方法排队请求 - 0
- Web服务运行请求 - 0
- Web服务排队请求 - 0
原因是使用cfthread
需要很长时间吗?在我们的网站上处理时,他们有时不得不从外部服务中消耗大量数据。或者可能是因为cfthread
任务相互重叠?
非常感谢任何帮助。
答案 0 :(得分:0)
检查你的Coldfusion管理员(在Request Tuning下),它允许你增加可用线程的数量,当你的请求超过可用线程时排队的深度,以及线程在杀死之前运行多长时间。
如果你将自己限制在10(我认为是默认值)并且10个人都占据了占用可用线程的页面,那么CF将排队进一步的请求。如果你的队列超过了它的限制,那么没有新的请求(或它被杀死了吗?)。那些运行超过60秒的线程被杀死,以使这些资源可供下一个人使用。
你真的需要找到超过60秒的时间来完成并优化它。如果你不能,那么你将不得不增加你的更多线程的允许(这将需要更多的内存)或至少允许你的队列加深(这将使你的用户感到沮丧,因为他们不会得到响应,直到他们的线程得到一个机会执行。)