数据库查询性能的分析
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1308
对于web项目(直接查询数据为主),有时经常会遇到性能问题,而性能瓶颈对于普通的web应用项目来讲,主要是IO瓶颈,而IO中最重要的要数数据库IO。这里我们抛开各种架构,各种缓存机制,只考虑如下应用
  对于web项目(直接查询数据为主),有时经常会遇到性能问题,而性能瓶颈对于普通的web应用项目来讲,主要是IO瓶颈,而IO中最重要的要数数据库IO。这里我们抛开各种架构,各种缓存机制,只考虑如下应用场景:
 
  普通的OA系统,正常三层架构,直接访问数据库查询数据,如果遇到某个页面加载过慢,如何分析呢?
  
  常规方法:
  
  第一:利用各种浏览器工具,测试页面首包时间,排除页面其它资源文件加载的因素。
  如首包时间占大部分,说明.net程序运行时间过长,并非页面下载资源文件所造成的原因。某些情况页面加载慢是由于加载了一些第三方的文件,比如广告等。
   
  第二:运行各种.net性能分析工具,精确定位哪部分函数运行时间过长。
  缺点:需要有开发环境才能调试,当生产环境出现问题时,总不能在线上环境进行调试吧,而有些性能问题是与软硬件,以及网络环境有重大关系,这也是为什么在测试环境没有问题,到了生产环境就出问题的原因。
  
  
  第三:将页面调用数据库访问的执行情况记录下来,以供分析。
  当.net执行完成一个数据库操作后,将执行的语句,连接串,执行时间,客户端信息全部记录下来,然后做进一步分析。
  缺点:需要对代码做额外的改动,或者说会增加额外的工作量。
  优点:无论运行在什么环境,均能实时准确的记录当时的执行情况。
  
  第四:由DBA对数据库进行监控,挑选出运行时间最长的需要优化的语句。
  缺点:
  1:需要DBA支持,或者说需要一名对数据库管理有一定经验的人员来操作。
  2:数据库只能监控到少量信息,比如很难知道运行时间最长的语句是由哪次请求,哪个页面产生的。
   
 以上四种方法,是我们在解决问题中常用的方法,供大家参考。
  
  
  
联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2