1、关于ODP.NET的Windows计数器问题

使用微软的缺省驱动时,可以通过windows性能监视器很方便的监控数据库连接数,选择.NET Data Provider for Oracle/Sqlserver中的NumberOfPooledConnections即可。但是微软早就放弃了对Oracle驱动的更新,该驱动不仅在性能上比较差(读取40000 rows * 30 cols的数据,仅数据转换大约耗时25秒,而ODP.NET仅需5秒),更悲催的是System.Data.OracleClient还有不少bug….本人就在一个项目上遇到数据行翻倍的事情,更新使用ODP.NET后原来的计数器自然就不能使用了,安装Oracle客户端时选择ODP.NET组件后,Windows计数器中会出现Oracle Data Provider for .NET的选项,但选择对应的子项和实例后却看不到任何信息,原来缺省是没有启用的。可以通过修改注册表启用计数器:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET\Assembly_Version,找到PerformanceCounters,将该值改为4095即可,然后重启IIS或回收应用程序池。

参考资料: http://blog.csdn.net/debug_fan/article/details/8973467

另外,根据dump分析看,监视器中显示的NumberOfPooledConnections仅包含正在使用的连接,如果要看所有打开的连接应该在加上NumberOfFreeConnections计数器。

2、关于ODP.NET在dump分析的查找

使用windbg分析dump时,遇到ODP.NET在实现ADO.NET接口的内部实现特立独行的问题,按照微软缺省的方式找了半天,在此记录备忘。

Command ---> m_connection [OracleConnection] ---> 1) m_conString [String] ; 2) m_opoConCtx [OpoConCtx] ---> pool [ConnectionPool] ---> m_connections [Collections.Stack]  ---> _s [Collections.Stack]  ---> _array (System.Object[])

也可以通过 命令直接查找连接或连接池:

!dumpheap -type Oracle.DataAccess.Client.ConnectionPool

!dumpheap -type Oracle.DataAccess.Client.OracleConnection

另外,还有全托管驱动的问题Oracle.ManagedDataAccess.Client,该实现的命令及路径跟ODP.NET又有很大不同。

Oracle.ManagedDataAccess.Client.OracleConnection

具体实现是下面两个

OracleInternal.ServiceObjects.OracleConnectionImpl

OracleInternal.ConnectionPool.OraclePoolManager

连接字符串也很特别,是在两处分开存储的: OracleConnection的ConnectionString  --->m_constring \ m_compString \ m_passwordlessConString 和OracleConnectionImpl 的 m_password

关于ODP.NET连接数监控及相应的windbg分析提示的更多相关文章

  1. zabbix TCP 连接数监控

    直接上配置: 1.修改配置 cat userparameter_tcp_connect.conf UserParameter=tcp_connect.established,/opt/app/zabb ...

  2. 【原创】大众点评监控平台cat的性能分析

    由于工作的原因,或者说我们之前内部监控设计和实现有点不满足现有的研发需求,所以调研了一下大众点评开源出来的cat这一套监控系统. 今天我们就来实验一把,cat的客户端埋点在我们的程序流程中上报数据到c ...

  3. LR监控Windows Server 2008 R2系统资源提示“指定的网络名不可用。”

    问题现象: LR监控远程服务器Window Server 2008 R2 系统资源,提示“Monitor name :Windows Resources. Cannot connect to mach ...

  4. Java GC - 监控回收行为与日志分析

    1. 简介 在上一篇介绍<Java GC - 垃圾回收机制>, 本文将介绍如何监控 Javc GC 行为,同时涉及一些GUI工具的使用(虽然有些已经很老并不再更新),监控GC在于判断JVM ...

  5. 利用StopWatch类监控Java代码执行时间并分析性能

    springframework中的StopWatch类可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Sto ...

  6. Java线程详细监控和其dump的分析使用—-分析Java性能瓶颈

    转载:https://www.cnblogs.com/firstdream/p/8109352.html 这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结: l ...

  7. Linux下Java线程具体监控和其dump的分析使用----分析Java性能瓶颈[张振华-Jack]

    作者:张振华(Jack) 这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结: linux环境下,当发现java进程占用CPU资源非常高,且又要想更进一步查出哪一 ...

  8. jconsole+idea监控+(jvisualvm 本地内存分析)

    1.idea启动配置 添加以下内容 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.mana ...

  9. 一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式

    前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念 ...

随机推荐

  1. Intellij IDEA 安装和配置jrebel进行项目的热部署

    Jrebel 先介绍一下jrebel,jrebel是可以热部署项目的一个工具,更改代码自动部署并不需要重启项目(在spring中的controller中,增加.修改方法都是可以进行热部署而不需要重启的 ...

  2. 小谈iOS屏幕适配问题

    首先,我么我们要观察一下5,6和6Plus的尺寸比例关系.发现了他们的关系后待会做兼容就明白了. 很明显能看出这三种屏幕的尺寸宽高比是差不多的,因此可以在5的基础上,按比例放大来兼容6和6Plus的屏 ...

  3. 中文颜色名称与RGB颜色对照表

    中文颜色名称颜色对照表 鸨色 #f7acbc 赤白橡 #deab8a 油色 #817936 绀桔梗 #444693 踯躅色 #ef5b9c 肌色 #fedcbd 伽罗色 #7f7522 花色 #2b4 ...

  4. 【java】对象克隆protected Object clone() throws CloneNotSupportedException

    package 对象克隆; class A implements Cloneable{//要具备clone()功能必须要实现Cloneable接口,此接口里无方法,只起标识作用. private St ...

  5. 【python】函数说明文档

  6. JavaScript 中 this 的详解

    this 的指向 this 是 js 中定义的关键字,它自动定义于每一个函数域内,但是它的指向却让人很迷惑.在实际应用中,this 的指向大致可以分为以下四种情况. 原文作者:林鑫,作者博客:http ...

  7. iOS 蓝牙开发资料记录

    一.蓝牙基础认识:   1.iOS蓝牙开发:  iOS蓝牙开发:蓝牙连接和数据读写   iOS蓝牙后台运行  iOS关于app连接已配对设备的问题(ancs协议的锅)          iOS蓝牙空中 ...

  8. 读Zepto源码之assets模块

    assets 模块是为解决 Safari 移动版加载图片过大过多时崩溃的问题.因为没有处理过这样的场景,所以这部分的代码解释不会太多,为了说明这个问题,我翻译了<How to work arou ...

  9. 2018第一发:记一次【Advanced Installer】打包之旅

    一.前言 2017年最后几天,你们都高高兴兴的跨年,博主还在加班制作.net安装包.因为年前要出来第一版的安装包,所以博主是加班加点啊.本来想用VS自带的制作工具,不过用过的人都知道,真是非常好(to ...

  10. Beautiful Paintings

    There are n pictures delivered for the new exhibition. The i-th painting has beauty ai. We know that ...