我目前正在运行一个使用数据库的VFP9应用程序,该数据库基本上是一个包含多个DBF,FPT和CDX文件的文件夹。
现在这个数据库基本上在网络上共享(1GB网络/交换机/ PC),供50多个用户访问。
现在有时候我们正在试图锁定"信息。我检查过硬件没有发现任何问题或瓶颈。此外,有时超过50人可能会在几秒钟内访问甚至写入特定文件。
我遇到过" Oplocks"在兰曼地区通过谷歌但这似乎并不存在于Windows 2008 R2 / Windows 7中。此外,我一直在阅读SMB,但我的目标已经结束了。
我不知道接下来要看什么?也许我正在测试VFP / Dbase系统可以做什么的限制?
有人可以帮忙吗?
由于 莱恩
答案 0 :(得分:0)
可能是很多事情,可能是完全正常的 你有应用程序的源代码吗?
“..超过50人可能会在几秒钟内访问甚至写入特定文件。”对我来说,这意味着你发现锁定冲突并不奇怪。
尝试锁定消息只意味着不止一个人试图访问同一条记录(如果原始锁定,则为文件)。
最近用户数量有所增加吗? 系统是否针对此卷设计? 它是否会影响软件的一个特定功能(很可能应该是这样),还是影响系统中的几个功能?
VFP的技术限制是(我认为每张表2 GB),实际上,当有数百万条记录(大规模推广)时它会变慢。当表变大时,良好的索引将有所帮助
这是系统上的间歇性故障(例如,在午餐时间和晚上的时钟输出时间),还是系统上连续或更频繁的负载?
如果您有源代码,您可以做很多事情,如果您还没有,您需要确定哪些DBF被锁定(它们将是那些包含大量记录并且可能也是大文件大小的DBF)你看目录)
你有自己的VFP还是已编译的EXE?
您可以做很多选择和事情,但需要更多信息。
尼克
答案 1 :(得分:0)
对于应用程序的缓慢,我知道的一件事可能是一个问题,特别是如果你有50个用户在VFP应用程序上捣乱。应用程序是从SERVER运行的......我的意思是,每个用户的快捷方式都指向
S:\ SomeShare \ YourVFPApp.exe
如果是这种情况,则可能会严重影响性能。它正在通过网络将应用程序拉下来,为每个吸引流量的用户提供服务。我与客户的关系如下。在本地C:驱动器上选择一个位置...例如:C:\ NetworkApps并将YourVFPApp.exe复制到此C:\ NetworkApps文件夹中。
接下来,创建一个指向C:\ NetworkApps \ YourVFPApp.exe的新快捷方式并保存。
接下来,修改快捷方式,但这次将“Start In”文件夹更改为原始位置,例如“S:\ SomeShare \”。保存更改并运行此版本的快捷方式。
这基本上做的是局部运行应用程序,但是从共享的相同最终位置开始(特别是如果实现了硬代码路径并且可怕的处理)。这样做可以防止所有用户通过网络获取应用程序,只需处理实际的表和数据流量。
是的,当有应用程序更新时,这可能会有点痛苦,但为此,我编写了另一个VFP简单应用程序,该应用程序查找本地驱动器,将exe与“最新版本”的exe进行比较为在网络共享上。如果服务器版本较新,请在本地复制,然后从预期的“S:\ SomeShare \”文件夹中启动它。
至于锁定,如果您正在进行TABLE锁定与RECORD锁定,您显然会看到更多等待锁定消息的延迟问题,但清除应用程序端可能存在的网络瓶颈可能有助于缓解它。