求助:Delpin cifs认证的问题
我是一个存储管理员,今天客户通过Delpin所编写了一个测试软件,通过cifs往NAS存储进行写入测试,但发现一个问题就是每隔1分钟左右,写入就会慢一次,其延迟在15秒左右上,很有规律,而正常每次的写入时间应该在十几毫秒之内!
测试拓扑如下:
测试步骤如下:
a) 将NAS存储上的卷共享出来(路径:\\10.10.10.100\cifs_shares\)以网络驱动器的形式映射测试服务器(Z:盘),
CIFS登录认证的方式是:在测试服务器本地创建一个用户名同NAS存储本地相同的用户/密码进行认证(admin123/passwd)
b) 将测试程test.exe在测试服务器上注册服务,在共享目录内创建文件夹(Excel)
c) 测试程序配置测试写入目录:Dir=\\10.10.10.100\cifs_shares\Excel\
d) Delpin测试服务以域用户启动测试程式
e) 程序每一个测试操作主要执行两个动作: 判断共享目录是否存在;共享目录若存在则写文件;
f ) 测试程式每隔1秒钟重复写入同一个测试小文件
应用程式测试CIFS异常描述:
发现问题:
查看Delpin程式操作日志,发现每隔1分钟左右,就会慢一次,其15延迟在秒左右上,很有规律!
-------------------------------------测试程式记录日志(详细日志见附件)----------------------------------------
2013-01-15 17:52:32.606 开始写文件:\\10.10.10.100\cifs_shares\Excel\CS$Lock
2013-01-15 17:52:32.606 本地测试文件存在
2013-01-15 17:52:32.621 结束写文件
2013-01-15 17:52:32.621 写文件耗费时间:15毫秒
2013-01-15 17:52:32.621 结束本次执行测试。。。。。。
2013-01-15 17:52:42.621 开始本次执行测试---------------------------------
2013-01-15 17:52:42.621 开始判断目录是否存在
2013-01-15 17:52:57.621 结束目录是否存在判断
2013-01-15 17:52:57.621 目录判断耗费时间:15000毫秒 #出现15秒的延迟
2013-01-15 17:52:57.621 开始写文件:\\10.10.10.100\cifs_shares\Excel\CS$Lock
2013-01-15 17:52:57.621 本地测试文件存在
2013-01-15 17:52:57.621 结束写文件
2013-01-15 17:52:57.621 写文件耗费时间:0毫秒
2013-01-15 17:52:57.621 结束本次执行测试。。。。。。
------------------------------------------------------
进一步测试:
如果启动服务时,以测试服务器本地用户admin123去启动测试服务的话,写入确是正常的,不会每隔1秒钟再存现延迟!
问题分析:
我的理解是NAS存储因为使用的是存储本地用户admin123进行cifs认证的,而如果测试服务器以域账户启动的话,测试程式在不停的往目录Dir=\\10.10.10.100\cifs_shares\Excel\中写入的时候,被使用域账户启动的delpin测试服务会向域更新一次cifs认证环境变量,但是NAS存储使用的不是域认证的方式,因此再重新向本地测试服务器获取认证用户信息,这就会多了一个域查询环境变量的步骤,从而导致较大延迟!
解决办法:
办法一:NAS存储加入域:很难实现,因为存储加入域要中断在线业务
办法二:Delpin直接往本地网络映射Z盘中写入:项目组人员说无法实现,Delpin我想没那么傻瓜吧?
办法三:Delpin是不是能将10.10.10.100\admin123本地环境变量在程式启动的时候直接传送给NAS存储进行认证?
跪求:我想问下办法二或办法三是否能够实现?
[ 本帖最后由 prince1117 于 2013-1-25 00:06 编辑 ]