这是一个很奇怪的情况。我将尝试概述细节并使其尽可能清晰。
我们在使用 Windows Server 2008 R2 的旧 Citrix 环境上有一个 ERP 客户端。我将客户端移至 Windows Server 2016,现在,一些用户遇到了一个问题,即在空闲大约 1-2 小时后连接似乎断开(大部分时间)。我还应该提到旧环境也在一个单独的网络上。所以我没有排除 GPO、网络配置等。
以下是 ERP (SXE) 客户端与服务器断开连接时用户看到的错误:
谷歌搜索这些错误会从 Progress(数据库的制造商,IIRC)中找到类似这样的文章。但该决议是一个非常笼统的解释。我还检查了事件查看器,并且确实记录了崩溃:
但同样,谷歌搜索错误带来了通用解决方案。“检查网络”是它的要点。但这可能意味着几十件事。
这是我到目前为止所尝试的:
- 将 RDP 会话超时的本地策略更改为从不。
- 将 RDP 保持活动的本地策略更改为每 1 分钟 ping 一次。
- 向 DEP 异常添加了可执行文件
- 将一些用户添加到管理组
- 与网络团队核对,他们都清楚了。
- 与管理组策略的 SA 进行了核对,他们没有任何问题。他们唯一想到的就是屏幕保护设置,但他们说没有设置。
- 当前在服务器上运行 Wireshark 以查看是否有任何异常突出。
最令人困惑的是,它并不影响所有人。我用我的两个帐户在 Citrix 中打开了客户端,并且该应用程序全天保持打开状态。而我楼下的某个人每天会断开 8 次。
对不起,冗长的帖子。关于我可以尝试解决此问题的任何想法?
后端似乎有错误。应用程序与数据库,因为接收者关闭连接,但这是因为已发布的应用程序失败,而不是因为接收者失去了网络。
编辑 1;正如评论中所说,要排除 citrix/网络错误或应用程序错误,请将用户连接到那里的完整远程桌面,让他从那里工作。如果应用程序错误仍然出现,您将知道这是后端问题(数据库)或应用程序与 2016 不完全兼容。
citrix 只是连接两个端点并显示提要,您看到的错误在我看来似乎是网络不好或数据库服务器上的负载不好。
我建议在数据库服务器上收集数据以确保它可以处理负载,确保数据库已优化(维护完成,事务日志不大等)并且磁盘已优化,例如在 esx 中(准虚拟控制器或 lsilogic 磁盘等。)
事实上,用户每天断开连接 8 次,而您只是让我认为用户在应用程序中做的工作更多,并且必须触发数据密集型请求。
问题出在网络上。客户端需要到服务器的一致 TCP 连接。当连接被切断时,客户端不知道如何重新连接并导致这些错误。在与网络团队一起调查该问题时,我们发现防火墙上的 TCP 连接设置为每小时(3600 秒)过期。我们增加了超时,问题消失了。