【发布时间】:2016-08-27 13:32:08
【问题描述】:
我有一个 asp.net webforms 页面,它通过 mv.net 调用 pick/d3。
我已经通过使用计时码包围 mv.net 调用来记录服务器端性能,例如:
logTimeElapsed()
getDataFromPick() 'gets 5 rows of test data
logTimeElapsed()
当我从托管 iis 服务器调用此页面时,我得到快速响应时间,例如:
newAC elapsed: 2.9297 total: 2.9297 Dim Acct As mvAccount = New mvAccount("...")
row 1 elapsed: 20.5078 total: 23.4375 Acct.FileOpen("...").ReadV(strID, 17)
row 2 elapsed: 9.7657 total: 33.2032 same as above
row 3 elapsed: 11.7187 total: 44.9219 same as above
row 4 elapsed: 11.7188 total: 56.6407 same as above
row 5 elapsed: 9.7656 total: 66.4063 same as above
Logout elapsed: 1.9531 total: 68.3594 Acct.Logout()
但是,当我从网络或网络上的另一个位置调用同一页面时,我得到的响应时间大约长 7 倍:
new acct elapsed: 0 total: 0 Dim Acct As mvAccount = New mvAccount("...")
row 1 elapsed: 156.25 total: 156.25 Acct.FileOpen("...").ReadV(strID, 17)
row 2 elapsed: 78.125 total: 234.375 same as above
row 3 elapsed: 78.125 total: 312.5 same as above
row 4 elapsed: 78.125 total: 390.625 same as above
row 5 elapsed: 78.125 total: 468.75 same as above
Logout elapsed: 0 total: 468.75 Acct.Logout()
从上面的结果看是这样的:
本地访问时:
mv.net 需要几毫秒来创建和注销帐户,并且每次 FileOpen 调用都很快。
远程访问时:
mv.net 创建和注销帐户的时间为 0(重复使用共享帐户?),但每次 FileOpen 调用都很慢。
如何使远程性能与本地性能保持一致?是否要对 mv.net 或 iis 设置进行更改?
本地调用 iis 和远程调用 iis 时,用户权限是否有所不同?
任何帮助表示赞赏
【问题讨论】:
-
旁注:我知道您正在尝试解决这里的特定问题,所以这可能是不合时宜的:多个
Acct.FileOpen("...").ReadV()操作在服务器上创建更多的工作以及使连接更多更健谈(增加交易时间)。我建议使用一个 FileOpen,然后对该对象进行一个或多个读取操作。您可以使用名称或 atb 引用在读取的单个 mvItem 中检索特定属性,因此您可以在单个语句中而不是多个语句中获得所需的内容,并且在不需要时无需将整个项目从 D3 连接到线上。 HTH
标签: asp.net iis pick multivalue-database