今天凌晨 阿根廷对瑞士比赛已经过去,比分是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 工具的更多相关文章

  1. Unity3d入门 - 关于unity工具的熟悉

    上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...

  2. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  3. 应用工具 .NET Portability Analyzer 分析迁移dotnet core

    大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...

  4. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  5. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  6. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  7. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  8. CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15

    之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...

  9. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

随机推荐

  1. phalcon: Profiling分析 profilter / Plugin结合,dispatcher调度控制器 监听sql执行日志

    个人觉得profilter 跟 logger 功能差不多,logger的功能在于写入,profilter功能在于sql后及时显示分析.都是对sql执行的的分析:一个是写入log文件,一个是直接在页面展 ...

  2. Machine Learning - 第7周(Support Vector Machines)

    SVMs are considered by many to be the most powerful 'black box' learning algorithm, and by posing构建 ...

  3. stdcall与cdecl的区别

    1 区别 VC++的C/C++函数有两种基本的调用约定:__stdcall.__cdecl.它们有什么区别呢?请参考下表:     __stdcall __cdecl 函数代码 C int __std ...

  4. quartz定时任务框架的使用

    quartz定时任务时间设置 这些星号由左到右按顺序代表 :     *    *     *     *    *     *   *                                 ...

  5. Android 反编译apk 详解

    测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取)  下载          dex2jar(源码文件获取) 下载        jd-gui  (源码查看)  ...

  6. 加载图片、倒计时--Columbia项目总结

    CSS3 居然会在隐藏显示的时候触发,真心太神奇了(在ff下是没有用的,在chrome下才阔以) 貌似我还是写了大循环,怎么样才能优化这个循环呢 加载图片:已经用到过好多次了↓ function lo ...

  7. JMeter基础知识

    JMeter介绍 JMeter是开源的性能测试工具和接口测试工具,工作原理和Loadrunner一样:作为浏览器和WebServer之间的网关,捕获Browser请求和WebServer响应,然后通过 ...

  8. Web前端开发面试题

    1. 以下的代码有问题吗?如果有你觉着应该如何修改? for(int i=0; i<list.size(); i++) {  .....  .....  if(...)  {   list.re ...

  9. hdu-------(1848)Fibonacci again and again(sg函数版的尼姆博弈)

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  10. 初始jQuery

    JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera ...