数据库优化案例,老技术的执著

 数据库     |      2019-11-15 18:44

 

写在前面

  记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段容易掌握的,但是整体的优化思想很难学会的。这也是为什么自己特别喜欢看案例,今天也分享自己做的优化案例。

  之前分享过OA系统、HIS系统,今天我们来一个最常见的ERP,ERP系统各行各业都在用,不同行业也有不同的特点,博主在做研发的时候还自己写过ERP也算是比较熟悉了。

  不管是本文分享的零售类,还是鞋服门店、家居、汽车、地产等等,也不管是某友、某碟,ERP有一个共同的特点,单据流程长,业务复杂,热点表明显,数据量大,涉及众多系统接口,各种大数据的统计报表....传统行业又缺乏DBA精心管理。

  慢是普遍的!

  最近一直很忙,博客产出也少的可怜,今天整理了一下自己做过优化或各种方案的客户已经超过千家,涉及各行各业,今天分享的案例算是在这些客户中比较典型的了!没有什么高大上都是常见的问题!在之前的博客中都有过提及,那么本篇我们就结合之前的技术点来看看这个案例。学习优化手段的看官们可以参见我的优化系列:

 

写在前面

  本篇是赤果果的产品介绍文章,同时也是向使用数据库的战友们表达一下我们是怎样一步一步打磨产品,又有什么样的远景、动力让我们一直走下去....

  八年数据库之路的感悟 这篇文章最后所提到的数据库管理产品,又经过两年的不懈努力,一群带有热情的老技术打磨,现在3.0版本已经成功上线,并有将近500家线下企业客户使用,2500家线上用户,同时也承载着上千技术爱好者的大力支持。

  在这里也向一直支持我们的技术大牛们表达感谢!!

SQL SERVER全面优化-------Expert for SQL Server 诊断系列

 

--------------博客地址---------------------------------------------------------------------------------------

Expert 诊断优化系列 

 

 

废话不多说,直接开整-----------------------------------------------------------------------------------------

 

要做到什么?

  复杂的技术简单化、可视化、自动化、智能化 (都是被无数产品说烂掉的词),解放DBA、解放IT管理人...

用户现象

  系统慢!保存个单据要好几分钟,很多操作都超时,尤其到下午4点左右各种超时,收款什么的都收不了,

  查个报表一个小时,下班了还没查完,经常因为系统慢而加班,

  业务部门已经怨声载道,这个事情已经上报公司高层IT部分压力非常大!

1.0的时代

  我们怎么样全面了解客户的数据库运行情况? 脚本? 命令? 又不全又累人,还不及时....我们做了最初的原形Expert for SQL Server ,他能帮助DBA 快速了解分析系统的运行情况,什么时间点出现过什么问题

  这样我们可以对众多服务器、众多客户的系统进行全面分析。而告别个人经验主义、效果看水平,这样的时代我们认准的事——分析全面

  告别:硬件说软件问题,软件说硬件不行,解决数据库问题就是换高速存储换完还不行再换服务器?

  图片 1

 

  同时我也通过1.0的产品写了一整套数据库优化的文章和案例 SQL SERVER全面优化-------Expert for SQL Server 诊断系列

  帮助技术同行解决各种数据库问题,当然最重要的还是告诉大家如何不轻易下结论,一切问题要——全面分析,找到根源

系统环境

  首先我们来看一下这个系统配置及现状,为什么说这个客户经典?往下看就知道了...

  

  先来看看系统配置 :

  

  图片 2

 

   服务器的配置是:8路 24 core 做了超线程 384个逻辑CPU,内存1T,磁盘全闪

   图片 3

     SQL用了2012版本,补丁已经最新,而且服务器配置全部能够识别

    没错。相当牛逼得配置!

  

     图片 4

  

  数据库的大小在1.2个T

 

  咋一看也许数据量太大了,导致性能的问题!可又一想这么强力的服务器也不至于那么慢呀,难道是代码的问题?难道需要分库分表?

2.0时代

  SaaS、云已经成为大火和无法阻挡的趋势,我们也同样开放了线上的诊断平台SQL专家云SaaS平台,免费帮助技术同行处理数据库问题,同时我们在1.0的基础上汲取各种场景、解决问题的思路,以1.0时代积累下的3000家客户运行情况提炼分析,把更多的指标,更多的问题场景融入到产品中,也得到广泛的认可。

  同时在2.0的版本中,我们也在智能化的路上前进了一大步,超过3000家的数据库运行情况,上万个问题场景,也酝酿出了 我们自动化解决问题的功能——智能加速与智能运维!

  图片 5

 

 

  SaaS平台的推出,让我们接触到了更多的数据库使用者,也接触到各种不同的系统运行情况,也有很多人在SaaS平台上寻求帮助,自己的系统有问题,又对数据库不懂,无法分析。

  在SaaS平台运行的一年半里,我们大约接到几百位求助者分享给我们的运行情况,我们也为他们全面分析并解决了数据库上的棘手问题,当然更多的是小白问题....哈哈哈哈

  小到解决问题,大到针对系统现状如何规划数据层应用,这样的过程是快乐了,技术是纯粹的,没有谈钱只有技术交流...偶尔大侠赏个红包,技术团队的兄弟也出门吃顿好的...哈哈哈

数据库指标

  那么我们再看一下数据库的一些表象:

  每秒请求数量:

  图片 6

  用户连接数:

  图片 7

 

 

  语句执行情况:

  图片 8

  图片 9

  

 

 

  等待情况:

  图片 10

 

  图片 11

 

  等待时间:

  图片 12

 

   CPU指标:

  图片 13

 

  内存一些指标:

  图片 14

 

  图片 15

 

 

  磁盘队列:

  图片 16

 

 

 -------------------还很多指标就不一一展示了------------------

 

   看到这些基本的指标,除了慢你能看出什么?问题出在哪里?怎么样快速解决?能有一个优化的步骤呈现在眼前么?