我们有一个正在运行的 Web 应用程序,有大约 100 个用户登录,所有客户端都使用 websync 连接到服务器。我需要保持会话始终处于活动状态,因此我在会话即将到期时重新生成会话。
但是三四天后,我发现cpu达到100%并且应用程序被锁定,那么我们需要重新启动服务器才能使其工作。
感谢您提前提供解决方案。
谢谢
为什么不将会话持续时间延长至极长而不是重新生成它?
当服务器达到 100% cpu 时,您是否对服务器运行了分析器?这应该有效地告诉您哪些方法/类在多少个不同的线程中运行。有了这些信息,您就可以弄清楚为什么您的应用程序在我猜想是很多线程的情况下运行这些方法/类。
我们有大量使用 WebSync 的客户端和数以万计的并发连接(我们的按需集群也每天不间断地为数千名用户提供服务),所以如果您看到 CPU 锁定,很可能您'在您的代码中存在线程问题,可能在您的一个事件中(假设它与 WebSync 代码完全相关)。
不要忘记 WebSync 事件都是静态的,因此如果您使用共享资源,则需要相应地管理它们(即,您必须依靠它们是多线程的事实)。所有 WebSync 方法本身都是线程安全的,但如果您在自己的事件中有内容,则需要自己管理。
不过,正如@Anton 建议的那样,请随意直接与我们聊天!
正如我们之前处理的那样,Windows 更新可能是 100% CPU 的原因。