我们运行的Web应用程序有大约100个用户登录,所有客户端都使用websync连接到服务器。我要求保持会话永远存在,所以当它即将到期时我正在重新生成会话。
但是经过3或4天后,我发现cpu达到100%并且应用程序被锁定,那么我们需要重新启动服务器以使其正常工作。
感谢您提前提供解决方案。
由于
答案 0 :(得分:2)
为什么不将会话持续时间延长到非常长而不是重新生成呢?
当它达到100%cpu时,你是否对服务器运行了一个分析器?这应该有效地告诉您在多少个不同的线程中运行哪些方法/类。有了这些信息,你可以弄清楚你的应用程序运行那些方法/类的原因,我猜的是很多线程。
答案 1 :(得分:2)
我们有很多客户使用带有数万个并发连接的WebSync(我们的On-Demand集群每天也会有数千个用户不间断),所以如果你看到CPU锁定,那么更多很可能你的代码中有一个线程问题,可能是你的一个事件(假设它与WebSync代码完全相关)。
不要忘记WebSync事件都是静态的,因此如果您使用共享资源,则需要相应地管理它们(即,您必须指望它们是多线程的事实) 。所有的WebSync方法本身都是线程安全的,但是如果你在自己的事件中有东西,你需要自己管理它。
如@Anton建议的那样,请随意与我们直接聊天!
答案 2 :(得分:1)
正如我们之前处理的那样,Windows更新可能是100%CPU的原因。