0

我目前正在运行一个使用数据库的 VFP9 应用程序,该数据库基本上是多个 DBF、FPT 和 CDX 文件的文件夹。

现在这个数据库基本上在网络上共享(1GB 网络/交换机/PC),供 50 多个用户访问。

现在有时我们会收到“尝试锁定”消息。我检查了硬件,没有发现任何问题或瓶颈。此外,有时超过 50 人可能会在几秒钟内访问甚至写入特定文件。

我通过 Google 在 Lanman 区域遇到了潜在的“Oplocks”问题,但这似乎在 Windows 2008 R2 / Windows 7 中不存在。一般也一直在阅读 SMB,但我束手无策。

不知道接下来要看什么?也许我正在测试 VFP/Dbase 系统可以做什么的极限?

有人可以帮忙吗?

谢谢瑞恩

4

2 回答 2

0

可能有很多东西,可能完全正常 你有应用程序的源代码吗?

“.. 50 多人可能在几秒钟内访问甚至写入特定文件..” 对我来说,你遇到锁定冲突并不奇怪。

Attempting to lock 消息仅意味着多个人试图访问同一记录(或文件,如果是粗略锁定)。

最近用户数增加了吗?
该系统是为该卷设计的吗?它是否会影响软件的一个特定功能(很可能应该如此),还是会影响整个系统的多个功能?

VFP 的技术限制是(我认为每个表 2 GB),实际上当有数百万条记录时它会变慢(巨大的概括)。当表变大时,良好的索引将有所帮助

这是系统上的间歇性信号(例如在午餐时间和晚上下班时间)还是系统上的连续或更频繁的负载?

如果您有源代码,您可以做很多事情,如果您没有,则需要弄清楚哪些 DBF 被锁定(当您查看时,它们将是其中包含大量记录并且文件大小可能也很大的 DBF目录)

你有 VFP 本身还是这是一个编译的 EXE?

您有很多选择和可以做的事情,但需要更多信息。

缺口

于 2013-07-15T23:24:54.353 回答
0

对于应用程序的缓慢性,我知道一件事可能是个问题,尤其是当您有 50 个用户在使用 VFP 应用程序时。应用程序是否从服务器运行...我的意思是,每个用户都有指向类似的快捷方式

S:\SomeShare\YourVFPApp.exe

如果是这种情况,那么这可能会严重影响性能。它正在为每个吸收流量的用户在网络上拉下应用程序。我对客户所做的如下。在机器的本地 C: 驱动器上选择一个位置...例如:C:\NetworkApps 并将 YourVFPApp.exe 复制到此 C:\NetworkApps 文件夹中。

接下来,创建一个指向 C:\NetworkApps\YourVFPApp.exe 的新快捷方式并保存。

接下来,修改快捷方式,但这一次,将“Start In”文件夹更改为原始位置,例如“S:\SomeShare\”。保存更改并运行此版本的快捷方式。

这基本上是在本地运行应用程序,但是从共享的相同最终位置开始(特别是如果实现了硬代码路径并且处理起来很可怕)。这样做是为了防止所有用户都需要通过网络获取应用程序并只处理实际的表和数据流量。

是的,当有应用程序更新时,这可能会有点痛苦,但为此,我编写了另一个 VFP 简单应用程序,它查看本地驱动器,将 exe 与网络上的“最新版本”进行比较分享。如果服务器版本较新,请将其复制到本地,然后在预期的“S:\SomeShare\”文件夹中启动它。

至于锁定,如果您正在执行 TABLE 锁定与 RECORD 锁定,您显然会看到更多等待锁定消息的延迟问题,但清除应用程序端可能的网络瓶颈可能有助于缓解它。

于 2013-07-17T02:43:55.313 回答