【问题标题】:asp.net Oracle Tuning Thread Sleepasp.net Oracle 调优线程休眠
【发布时间】:2014-12-27 18:36:33
【问题描述】:

我在 ASP.NET MVC 4 中有一个网站。 该站点将数据保存在 Oracle 的数据库中。我的 Oracle.DataAcess.dll 版本是 4.112.3.0(运行时版本:4.0.30319)。下面,执行以下命令得到的数据库信息:'select * from v$version';

嗯,我正在使用 Jet Brain 的 Dot Trace 分析我的网站。 在我的快照中,他们向我展示了“Oracle.DataAcess.Client.OracleTuningAgent”中的两种方法正在消耗更多的处理器时间。此方法是“Oracle.DataAcess.Client.OracleTuningAgent.DoScan”和“Oracle.DataAcess.Client.OracleTuningAgent.DoWait”。调用方法“System.Threading.Thread.Sleep”。下面是快照信息:

我尝试在我的连接字符串中添加“Self Tuning=false”,但它们只停止调用 DoWait 函数并继续调用“DoScan”函数。

有没有办法禁用这个被调用的函数?或者这样做不是一个好主意?

Obs:抱歉英语不好,实际上我正在使用谷歌翻译来帮助我写这个问题。

【问题讨论】:

  • 我也有同样的问题……你找到答案了吗?谢谢。
  • 我在下面的帖子中找到了解决方案:stackoverflow.com/questions/2782169/… 但并没有完全解决问题,其中一些过程仍在发生

标签: c# asp.net oracle


【解决方案1】:

菲尔普斯。

就我而言,我会增大最大池大小,直到没有错误为止。 像这样。 "最大池大小=250;"

毕竟,我尝试设置我的应用程序需要多少连接。 您还需要调整您的 connectionString 例子 ) 最小/最大池大小 增加/减少池大小。

如下我的评论。

实际上我的问题是由于缺少oracle连接引起的。 因为完成请求后我没有调用“close()”。

如果你有权限查找 v$session 表。 你可以看到越来越多的会话数。你的每一个函数都在后面运行。

但是如果你没有权限,你可以使用 netstat -an 。 用 findstr /c:1521

【讨论】:

  • 最重要的是,您必须确保关闭您的 Oracle 连接“Close()”
猜你喜欢
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-23
  • 1970-01-01
相关资源
最近更新 更多