加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 来自.Net iSeries Provider的AS 400性能

发布时间:2020-09-21 08:23:48 所属栏目:asp.Net 来源:互联网
导读:首先,我不是AS 400的人.所以请原谅我在这里问任何无用的问题. 基本上,我正在开发一个.Net应用程序,需要访问AS400以获取一些实时数据.虽然我有系统工作,但我在查询之间得到了非常不同的性能结果.通常,当我在AS400上针对SPROC发出第一个请求时,我看到了大约14秒

首先,我不是AS 400的人.所以请原谅我在这里问任何无用的问题.

基本上,我正在开发一个.Net应用程序,需要访问AS400以获取一些实时数据.虽然我有系统工作,但我在查询之间得到了非常不同的性能结果.通常,当我在AS400上针对SPROC发出第一个请求时,我看到了大约14秒的时间来获取完整的数据集.在初始呼叫之后,任何后续呼叫通常只需要约1秒钟才能返回.这种性能提升大约需要20分钟左右才能再次使用14秒.

有趣的是,如果存储过程直接在iSeries Navigator上执行,它总是在几毫秒内返回(响应时间没有变化).

我想知道它是否是一个缓存/执行计划问题,但我只能将我的SQL SERVER逻辑应用于AS400,这并不总是匹配.

当我使用iSeries数据提供程序用于.Net时,有什么建议可以做些什么来收到更一致的响应时间或只是洞察AS400为什么会以这种方式行事?我应该使用更好的访问方法吗?

以防万一,这是我用来连接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

编辑:在看了一下这个问题并使用下面的一些评论后,我开始怀疑我是否因为连接池的收益而遇到这个问题?思考?

解决方法

我发现Redbook Integrating DB2 Universal Database for iSeries with Microsoft ADO .NET对于诊断这些问题非常有用.

具体来看客户端和服务器端跟踪以帮助隔离问题.并且不要害怕致电IBM软件支持.他们可以帮助您设置分析以找出问题.

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读