当前位置: 首页 > news >正文

dotTrace 6.1帮你理解SQL查询如何影响应用性能

dotTrace是JetBrains公司旗下的一款.NET应用程序性能瓶颈检测工具。该工具是ReSharper旗舰版的一部分,也可以单独安装。近日,dotTrace 6.1发布,主要增加了人们期待已久的SQL查询性能分析,开发人员可以通过它获得特定查询的执行时间以及运行该查询的方法。该功能有如下特点:

\\
  • 只能在时间线性能分析模式下进行;\\t
  • 既可以分析独立应用程序的性能,也可以附加到一个已经运行着的进程上;\\t
  • 支持SQLClient、OLE DB、Entity Framework和ODBC等数据提供程序;\\t
  • 使用ETW收集SQL事件,实现性能分析开销最小化。\

下面让我们看一下dotTrace 6.1如何帮助开发人员理解SQL查询对应用程序性能的影响。

\\

在界面上,dotTrace 6.1唯一的变化是在“时间线查看器(Timeline Viewer)”的“间隔过滤器(Interval Filters)”中增加了SQL Client,如下图所示:

\\

1.png

\\

SQL Client事件指示了应用程序与SQL服务器的通信时长,也就是客户端发出请求到收到响应的时间间隔,其中包括打开/关闭连接、运行查询及其它SQL活动的时间,如下图所示:

\\

2.png

\\

从上图可以看出,SQL Client包含两个子过滤器SQL Client:Connection String 和SQL Client:Command,其中前者适用于应用程序使用多个SQL连接的情况,后者列出了不同查询耗费的时间。

\\

当SQL语句比较长时,开发人员可以打开SQL查询窗口进行查看,如下图所示:

\\

3.png

\\

双击特定的SQL会打开其它所有的过滤器,包括“调用栈(Call Stack)”,如下图所示:

\\

4.png

\\

其中,“上层方法(Top Methods)”列出了该语句在不同方法中执行时耗费的时间。选定一个特定的方法,源代码就会显示在“源代码查看器(Source View)”中,如下图所示:

\\

5.png

\\

感兴趣的读者可以下载试用,免费试用期为10天。需要注意的是,dotTrace 6.1支持Visual Studio 2015、2013、2012和2010,但与Visual Studio中集成的ReSharper 8.x、dotCover 2.x、dotMemory 4.1或更低版本不兼容。安装dotTrace 6.1会从Visual Studio中删除旧版本的JetBrains .NET工具。

\\

感谢徐川对本文的审校。

\\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群\"InfoQ好读者\")。

相关文章:

  • 开始python学习了
  • 用php获取本周,上周,本月,上月,本季度日期的代码,方法得到各种日期。
  • 课堂练习-找水桶(4.24)
  • gitolite 向 gitlab 迁移
  • 推荐搜索引擎及搜索技巧
  • AWK 学习笔记
  • Java中List的排序和List的MAp
  • 二十二,数学运算相关的类
  • javascript中的this
  • Github Pages 静态网页建站
  • 2301: [HAOI2011]Problem b
  • poj 1251 统计难题(字典树)
  • uploadify.js参数说明(转)
  • MongoDB高可用架构:Replica Sets+Sharding
  • 实验二 Java面向对象程序设计
  • [Vue CLI 3] 配置解析之 css.extract
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • download使用浅析
  • Netty 4.1 源代码学习:线程模型
  • Redis 中的布隆过滤器
  • scala基础语法(二)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 数据可视化之 Sankey 桑基图的实现
  • 跳前端坑前,先看看这个!!
  • 因为阿里,他们成了“杭漂”
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (03)光刻——半导体电路的绘制
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (搬运以学习)flask 上下文的实现
  • (二)JAVA使用POI操作excel
  • (二)WCF的Binding模型
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (十一)手动添加用户和文件的特殊权限
  • (算法设计与分析)第一章算法概述-习题
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)VC++中ondraw在什么时候调用的
  • (轉貼) UML中文FAQ (OO) (UML)
  • **PHP分步表单提交思路(分页表单提交)
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .bat批处理出现中文乱码的情况
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Core引入性能分析引导优化
  • .net中应用SQL缓存(实例使用)
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @RequestParam详解
  • @我的前任是个极品 微博分析
  • [C++] sqlite3_get_table 的使用
  • [C进阶] 数据在内存中的存储——浮点型篇