加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

系统慢得一批?看数据库运维老司机如何做优化

发布时间:2019-05-25 23:16:03 所属栏目:MySql教程 来源:程序君
导读:记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的。这也是为什么自己特别喜欢看案例,今天也分享自己做的优化案例。 之前分享过OA系统、HIS系统,今天我们来一个最常见的ERP。ERP系统各行各业
副标题[/!--empirenews.page--]

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

系统慢得一批?看数据库运维老司机如何做优化

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

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

慢是普遍的!

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

用户现象

系统慢!非常慢!

保存个单据要好几分钟,很多操作都超时,尤其到下午4点左右各种超时,收款什么的都收不了,查个报表一个小时,下班了还没查完,经常因为系统慢而加班,业务部门怨声载道。这个事情已经上报公司高层,IT压力非常大!

系统环境

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

先来看看系统配置 :

系统慢得一批?看数据库运维老司机如何做优化

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

系统慢得一批?看数据库运维老司机如何做优化

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

没错。相当牛逼的配置!

系统慢得一批?看数据库运维老司机如何做优化

数据库的大小在1.2个T。

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

数据库指标

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

每秒请求数量:

系统慢得一批?看数据库运维老司机如何做优化

用户连接数:

系统慢得一批?看数据库运维老司机如何做优化

语句执行情况:

系统慢得一批?看数据库运维老司机如何做优化

等待情况:

系统慢得一批?看数据库运维老司机如何做优化

等待时间:

系统慢得一批?看数据库运维老司机如何做优化

CPU指标:

系统慢得一批?看数据库运维老司机如何做优化

内存一些指标

系统慢得一批?看数据库运维老司机如何做优化

系统慢得一批?看数据库运维老司机如何做优化

磁盘队列:

系统慢得一批?看数据库运维老司机如何做优化

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

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

分析

系统是真的很慢,慢语句数量很多系统阻塞也很严重,确实和客户反映的慢可以吻合。那为什么这么慢?什么原因导致的?

我总结一般性能慢常和6大因素有关:

  • 业务压力
  • 硬件
  • 环境
  • 代码
  • 数据库内部运行因素
  • 架构

奉上一幅草图:

系统慢得一批?看数据库运维老司机如何做优化

系统压力:访问压力(也是我们常说的并发)其实并不大,用户连接数也没想像的那么多;

硬件:在内存和磁盘IO确实存在压力;

环境:服务器和数据库版本什么的没什么问题,具体配置一会儿再看;

代码:最不想分析代码,我们留到最后;

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读