【发布时间】:2017-08-22 22:00:26
【问题描述】:
我们有多个使用 Visual Foxpro 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 应用程序从操作系统请求文件,然后它要么得到异常响应,要么只是超时,然后操作系统才发送请求文件的数据包。同样,这种情况偶尔会发生。
多年来,服务器端和客户端的所有计算机上的 OpLocks 和 SMB2 都已禁用,直到现在一切都运行顺利...
任何建议将不胜感激。
【问题讨论】:
-
没有任何代码或日志很难理解你的问题。
标签: visual-foxpro foxpro