随机1104错误读取多个VFP应用程序中的文件错误

时间:2017-08-22 22:00:26

标签: visual-foxpro foxpro

我们在Visual Foxpropro 8.0中开发了多个应用程序,这些应用程序在VMware上的Windows 2008 R2上的数据中心中运行。我们还在同一网络上有一个Citrix场,用户在Citrix会话中运行另一个VFP 8.0应用程序。所有应用程序共享位于文件服务器(也称为Windows 2008 R2 VM)上的同一组数据表。虚拟主机通过10Gb LAN(托管交换机)连接。

自7月中旬以来,我们开始在多台服务器上的多个不同应用程序上看到随机1104“读取文件错误...”错误。所有这些都引用了文件服务器上的不同文件。

问题始于7月中旬,频率逐渐增加。早些时候下午3点最常出现在下午,现在它发生在清晨到下午晚些时候。它会影响EDI服务器(这些服务器以无人参与模式运行批处理作业)和Citrix服务器以及各种应用程序。它发生在VFP应用程序(其中任何一个)尝试使用USE命令尝试打开数据库容器文件或单个表时,但有时执行SQL Select语句,或者加载在DataEnvironment中打开表的VFP表单

我们抓住了一个时刻,在同一时刻(最多一秒)运行不同应用程序的两台不同服务器上发生了同样的错误。我们还看到同一台计算机上运行的两个不同的应用程序同时发生错误。

我们用新的虚拟机替换了文件服务器,没有任何缓解(我们将其更改回旧的文件服务器)。

我们禁用了防病毒软件。

我们将所有主机上的VMware更新为最新版本。

发生错误时,Sysinternals Process Monitor会显示“INVALID_NETWORK_RESPONSE”事件。

我们在发生错误时捕获了服务器端和客户端的流量,并由网络分析专家进行了分析。他观察到一种奇特的模式,客户端操作系统在VFP应用程序抛出错误后开始从文件服务器检索有问题的文件。似乎VFP应用程序从OS请求一个文件,然后它要么得到异常响应,要么只是超时,并且只有在此之后OS才会发送请求该文件的数据包。同样,这种情况偶尔会发生。

OpLocks和SMB2已经在等式的服务器和客户端的所有计算机上禁用多年,并且一直运行到现在......

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

我的第一条建议是重新启用OpLocks和SMB2。没有理由把这些项目搞砸,就像今天的情况一样,你正在失去大量的SMB1级别的性能。

根据我的经验,这些问题几乎总是由以下原因之一引起的。

  • 防病毒/反恶意软件。
  • 复制或在线备份软件,如MozyPro。
  • Windows搜索索引服务。

如果您尚未安装Windows 7 / Server 2008 R2 Enterprise Hotfix Rollup,则应考虑安装。

答案 1 :(得分:0)

  • 这个问题主要与SMB2有关!
  • 部分防病毒软件!
  • Windows更新!如果您使用DBF / DBC文件的VFP应用程序。不要更新您的系统/操作系统。这是我个人的建议。 Windows Server 2012+或Windows 10+可能会在不久的将来出现大问题。

高点可能是: 每秒你的I / O请求是多少?如果你的IO请求大于1000~2000每秒,对于一个瓶颈的dbf文件;并且您的存储设备是HDD - >您需要将硬盘切换/更新到SSD。我建议使用m.2 pro系列SSD。