dotTracePerormance 工具
今天凌晨 阿根廷对瑞士比赛已经过去,比分是1:0 阿根廷获胜;虽说我是伪球迷,但是也挺希望梅西进入决赛。昨晚也压了下90分之内 0:0 ,结果胜出;另一场压的是美国对比利时,也是压平,就这样二串一被我无意中压中了。想起昨晚睡觉之前手随便抖动了一下才中的奖励,才明白什么叫“有心栽花花不开,无心插柳柳成荫啊”! 或者球场上就是如此吧,没有常胜将军,屌丝也同样能干掉高傲的 高富帅。。。。西班牙被出局了,葡糖牙也嗝屁了,C罗就这样没落的走了! 哥斯达黎加队好像是我买彩票第一场中的球队,也是黑马中的战斗机。然后今天的话题也跑偏了......我了我竟然是程序员.....
对于.net 开发原来说在性能优化方面,有很多种方案;
第一: 使用日志系统
这种方案需要开发人员用大量的时间去在函数开始和结尾上写日志。。。。若没有.net mvc 中的那种拦截方式来跟踪日志系统,在平时的7层架构中是比较困难的...
第二: 在代码中不断的写System.Diagnostics.Debug.WriteLine();
这种方案个人感觉比日志系统好,released 版本也不会将Debug的信息加入进去。而且配合debugView工具就能一目了然的看清每个断点的执行时间,这样就是大概初步了解了。。。。。。在多线程里面好像还是比较实用的。 缺点就是我压根不想写任何debug信息啊,因为我根本不知道问题出在哪里。
第三、dotTrace Performance
以前和大家一起用过dotTrace 进行客户端的性能优化,大家对他的评论是不准确。。。。。当初自己的也有怀疑,因为他和debugView 之间查选出来的数据 是慢一些的,或许真会影响进程执行的效率。 但也只是或许吧。。。那也好是好久之前的事情了。
然而上周潘总让我帮SCM 他们处理一个客户(太湖雪)的一个问题:出入库单据 新增会报错 1、“sqlTranse 已经关闭”;2、‘0行没有 数据’ 等乱七八糟的提示错误。 本着负责的态度,让我远程看了下,发现的确会出现第一个问题。。。。但是。。。但是 在这过程中让我很蛋疼的是:“你妈,你们新增一张出入库单据,竟然花费70多秒,你造吗??你们竟然没有提?,而且你们目前数据只有1-2万条。。” 当然本着对自己负责和对公司负责的一个i额态度,我压抑住了心中的怒火,和蔼并带着微笑,心中却夹杂着各种骂程序员的想法和客户说:“哥们,你们这速度用的起来吗?”, 于是乎那哥们方法见到了如来,眼中饱含泪水,而又无奈的说道:“说的好.....”.
就这样我决心要看下系统入库的代码,决定查找下问题出在哪里......但是若是程序员都知道,从何而起? 有些问题只有在大数据量才发生,客户那边有我们这边又不会重现,不会重现就不能对症下药。
当然凭着业界良心,还是弄到了他们的数据,数据库备份了几次都是数据不完整,但是最后还是好了。 问题是重现了,但是怎么弄呢? IIS端保存逻辑代码有几千行,要我如何是好。若是以前的我,也尝试着不断的大debug的方式,进行查询。。。。但是你懂的,后果会很严重。 在自己的电脑中无意中再次看到了 dotTrace ,试想着能否在IIS进程中进行监控呢。。。。抱着试试看着的态度,我安装了,然后进行监听, 你妈 感动的泪水都流出来了,啥都不用说了!一万个赞,问题直接定位,如下图结果: “工欲善其事必先利其器” 是很有道理的

dotTracePerormance 工具的更多相关文章
- Unity3d入门 - 关于unity工具的熟悉
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- 应用工具 .NET Portability Analyzer 分析迁移dotnet core
大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...
- .NetCore中的日志(2)集成第三方日志工具
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
- CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15
之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
随机推荐
- 关于ipxe启动的几个疑问
关于ipxe启动的几个疑问 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373026&page=1&extra=#pid ...
- 【转】 Linux chmod命令
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读.写.运行设定权限.例如我用ls -l命令列文件表时,得到如下输出:-rw-r--r-- 1 apple users 22 ...
- 【bzoj1057】棋盘制作
题意 给定\(n*m\)的棋盘,每个格子有0或1其中的一种颜色. 求一个最大的正方形,满足正方形内0和1相互间隔. 求一个最大的矩形,满足矩形内0和1相互间隔. \(n,m\leq 2000\) 分析 ...
- jquery 获取属性的值
jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式. 1. attr( 属 ...
- Jdk1.8+Eclipse+MySql+Tomcat开发Java应用的环境搭建
Java学习开发的入门教程,方便大家在学习java开发过程中掌握最基本的环境搭建 有视频,有真相 http://www.chuanke.com/1340360-164338.html jdk是操作系统 ...
- 模拟器的tableView的分割线不显示
只有iOS9和iPhone6 plus模拟器上TableView分割线不会显示. 原因: 由于iPhone6 plus的分辨率较高,开发的时候同常都使用command + 3 或者 command + ...
- 判断jQuery元素是否隐藏
第一种:使用CSS属性 复制代码 代码如下: var display =$('#id').css('display'); if(display == 'none'){ alert("被 ...
- 修改Linux系统时区
修改配置文件来修改时区1.修改/etc/sysconfig/clock ZONE=Asia/Shanghai 2.rm /etc/localtime3.链接到上海时区文件 ln -sf ...
- extjs 控件属性
1.textfield labelSeparator :'' 这个属性当fieldLabel有值得时候,默认会加上一个分号,这个属性就是控制那个的... 2.numberfield decimal ...
- Mahout推荐算法基础
转载自(http://www.geek521.com/?p=1423) Mahout推荐算法分为以下几大类 GenericUserBasedRecommender 算法: 1.基于用户的相似度 2.相 ...