只改2条语句,治好HIS系统数据库“葛优瘫”!
《只改2条语句,治好HIS系统数据库“葛优瘫”!》要点: 作者介绍 记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的,所以我自己特别喜欢看案例. 今天整理了一下自己做过的100家以上优化或各种方案的客户案例,本文分享的案例算是在这些客户中比较典型的了!没有什么高大上,都是常见的问题! 废话不多说,直接开整! 系统环境 首先我们来看一下这个系统配置及现状,为什么说这个客户经典?那就是因为这个客户已经达到可以慢的地方都慢,不该慢的地方也慢! 首先这是一套医院的HIS系统,慢到什么程度呢?各种功能卡死不管是交款、医嘱、开药一些列几乎所有的功能都慢.但是卡慢的现象只出现在上午的高峰期! 先来看看系统配置 :
数据库版本是SQL SERVER 2008R2,数据量大概1个多T,服务器64CPU 、128G内存,服务器只运行数据库. 咋一看服务器确实有点老了,数据量也大了,内存和CPU什么的明显不够用了! 数据库指标 那么我们再看一下数据库的一些表象:
还有很多指标就不一一展示了. 看到这些基本的指标,除了慢你能看出什么?问题出在哪里?怎么样快速解决?能有一个优化的步骤呈现在眼前么? 很多时候系统慢要究其原因,难道上线时候就这么慢?那不可能,厂商根本无法交付的!那么问题来了,什么时候开始慢的?对系统做过哪些调整? 简单的调研开始,给我的只有不到半天的调研时间,得知的基本问题就是系统在最近一月增加了很多功能,有上线了很多其他系统接口! 那么直接就搞新功能、新程序接口语句? 我认为并不是这样,从一名数据库从业人员来说,看到这样的系统一定要先解决大面积等待问题!个人经验来看很多系统大面积等待解决系统会有个很大的提升和改善! 配合一些常规的调优手段阶段一开始了,主要给系统大面积创建影响高开销大的索引,调整系统参数,优化tempDB、开启快照读等…. 一般系统上面一轮优化会有明显的改善,我认为这一轮以后系统会明显变快,语句CPU会下降到70%左右,内存压力也会有所减少. 结果: 自信满满的我第二天去了各个科室….部分功能依然超时还是各种慢…CPU依然90%以上,内存压力依然明显.但是收集的数据来看,长时间语句数量已经大幅降低,系统等待阻塞情况也明显好转.
(编辑:ASP站长网) |