赛捷软件论坛's Archiver

lynn.yu 发表于 2020-12-31 14:32

[KB 105883功能解说] 批次服务器任务越来越多地出现ECONNRESET错误

[b]* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。[/b]


创建日期: 07-14-2020
最后修改日期:11-18-2020
发布日期:08-17-2020
适用范围:批次、记录、过账 > 处理


[b]问题概要[/b]
批次服务器任务间歇性地出现ECONNRESET错误。
例如,在批次服务器日志文件中查看一个失败的任务(RQT*.tra),你可以看到以下文本:
#<AdxVL>@(#)%I% Batch query log FUNAUTINVD
<0001 05-28-20 09:02:32 ERROR : read ECONNRESET (10001)


[b]原因[/b]
对于在不同服务器上使用X3 Runtime服务和Syracuse服务的客户,标准的Windows TCP设置可能不适合网络负载和性能。


[b]解决方法[/b]
这是一些有望改善这种情况的Windows注册表更改。你应该验证建议的值,以确保它们适合你的特定设置。

需要在双方通信通道(Sage X3 runtime主机和Sage X3 Syracuse主机)上执行以下Windows注册表更改

警告:手动编辑Windows注册表是危险的,可能会对你的Windows服务器产生重大的负面影响。请确保你在TEST服务器上测试这个过程,并确保你有所有实施这些更改内容的服务器的完整备份。
1.        以管理员用户身份启动Windows注册表编辑器
2.        转至HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3.        将以下三个注册表键创建或编辑为DWORD:
键名称                                    建议值(单位)                  说明
KeepAliveTime                      600000(毫秒=10分钟)        发送keepalive数据包的频率。应小于网络设备的切换时间(一般为1或2小时)。一般来说,几分钟(但不低于2分钟)是最好的折中值。
KeepAliveInterval              30000(毫秒=30秒)                Keepalives重试之间的延时,应小于KeepAliveTime。
TcpMaxDataRetransmissions        5(个)                     连接失败前的最大keepalive#重试次数。

[b]请注意:[/b]
——这些更改需要重启服务器才能生效。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.