备用工具及下载地址 |
JetBrains dotTrace Profiler v3.0
下载地址在这里:http://www.jetbrains.com/profiler/download/
下载地址在这里:http://www.cleardata.biz/cleartrace/download.aspx
随数据库一起安装
采用启用odbc将日志记录到数据库中,查询的方式
当遇到不知道是什么问题的问题的时候,分析问题的工具
umdhtools的下载和使用方式地址在这里:http://support.microsoft.com/kb/268343/zh-cn
其实当我到一个新的公司,我们不可能马上就接触的该公司的核心开发中,各主管一般都会分配给大家一些别人已经完成的代码,让我们来熟悉和学习,高一些的主管会让你带着家庭作业去学习代码,顺便为下一阶段的工作来准备,那么家庭作业就出来了:看完代码之后你能不能提一些你认为设计不合理或者可以优化性能的地方呢?OK,下面我们就来循序渐进的从未知代码着手吧。
拿到代码之后,一般我会逐个击破,首先使用dotTrace profiler分析页面,这里我们用个人空间本地的调试链接http://my2.csdn.net/index.html来给大家看一下profiler的截图(一般,我们应该去寻找流量最大的那个页面,把那个页面的问题解决了,也许优化的问题就解决一大半):
OK,看到页面里面当我们需要显示这个页面就经过了哪写方法,并且,他列出了每个方法的执行时间,被调用的次数,这时候我们会大体对程序结构有一个了解,从数据库以上的逻辑层,我们知道当打开这个页面需要哪些方法以及方法是如何一步布走下去的,但是,我们现在只是对程序有一个初步的了解,虽然有执行时间显示,但是天知道这里哪些时间使我们可以入手优化的呢。放着吧,暂时知道流程对程序有一个大体的了解就好了。
这个时候我们可以打开sql server profiler,再次刷新一次该页面,OK,出来了,当打开这个页面所需要执行的存储过程,我们也知道了。知道运行了哪些存储过程,
也有了每一个sp所执行的时间,这时候我们使用sql server profiler所跟踪出的文件,使用clear trace帮我们分析出每一个sp的调用次数,执行时间,磁盘i/o。
这个时候我们知道,数据库中我们使用了哪些表,哪些存储过程,以及每一个存储过程的详细信息。
到了现在,我们已经对执行当前页面所用到的代码,sp,和表都有了一定的了解。
说了这许多一个程序在发布之前的准备工作就已经完毕了,那么是不是本次思考就结束了呢?回答是肯定的:不是。哈哈
再次思考:
考虑过了之上的所有的所有,是不是结束了呢?回答依然是肯定的:没有。
以上我们全部都考虑的是,我们发布的程序,在外部的服务器上不出问题的情况,真的不出问题吗?你是不是在做梦?
最糟糕的,到了第二天早上,问题还没有解决,兄弟,别着急,冷静,坚持就是胜利。
如果到了第三天问题还是没有解决:兄弟,你是火星来的,还是回火星去吧(被老大打飞)
本文还差很多图,和资源链接和详细信息,慢慢补齐吧,休息,休息一会2