Nat*_*han 6 asp.net performance ibm-midrange
首先,我不是AS 400的人.所以请原谅我在这里问任何无用的问题.
基本上,我正在开发一个.Net应用程序,需要访问AS400以获取一些实时数据.虽然我有系统工作,但我在查询之间得到了非常不同的性能结果.通常,当我在AS400上针对SPROC发出第一个请求时,我看到了大约14秒的时间来获取完整的数据集.在初始呼叫之后,任何后续呼叫通常只需要约1秒钟才能返回.这种性能提升大约需要20分钟左右才能再次使用14秒.
有趣的是,如果存储过程直接在iSeries Navigator上执行,它总是在几毫秒内返回(响应时间没有变化).
我想知道它是否是一个缓存/执行计划问题,但我只能将我的SQL SERVER逻辑应用于AS400,这并不总是匹配.
什么我可以做免费获赠更多洽响应时间或者干脆洞察力至于为什么AS400以这种方式行事时,我使用了.NET中的iSeries的数据提供任何建议?我应该使用更好的访问方法吗?
以防万一,这是我用来连接AS400的代码
Dim Conn As New IBM.Data.DB2.iSeries.iDB2Connection(ConnectionString)
Dim Cmd As New IBM.Data.DB2.iSeries.iDB2Command("SPROC_NAME_HERE", Conn)
Cmd.CommandType = CommandType.StoredProcedure
Using Conn
Conn.Open()
Dim Reader = Cmd.ExecuteReader()
Using Reader
While Reader.Read()
'Do Something
End While
Reader.Close()
End Using
Conn.Close()
End Using
Run Code Online (Sandbox Code Playgroud)
编辑:在看了一下这个问题并使用下面的一些评论后,我开始怀疑我是否因为连接池的收益而遇到这个问题?思考?
我发现红皮书Integrating DB2 Universal Database for iSeries with Microsoft ADO .NET对于诊断此类问题非常有用。
具体查看客户端和服务器端跟踪以帮助隔离问题。不要害怕致电 IBM 软件支持。他们可以帮助您设置分析以找出问题。
| 归档时间: |
|
| 查看次数: |
4977 次 |
| 最近记录: |