MYSQL 性能优化之服务器性能优化思路详解

mysql服务器性能优化和调优是IT工作人员日常都会遇到的问题。很多同学可能也懂一些服务器的调优方案。但是总体说来,形不成一个体系。不能从一个宏观的角度,系统的对服务器进行优化。所以今天我从宏观上说一下服务器调优的基本步骤和思路,希望能够帮助到大家。

首先,通过脚本刷新观察服务器status,看是否是周期性的故障和波动。

很多同学遇到服务器性能问题,一上来就调节这个,修改那个,这种做法是比较盲目的。就像医生看病一样,先要诊断,看看病人出了什么问题。然后根据问题,在对症下药。道理是想通的。所以,我们的第一步是通过一些脚本来采集服务器的关键指标数据来观察。通过观察和分析看看到底问题出在哪里。

如果是周期性波动或者故障,那么一般是由于访问高峰或者缓存崩溃引起的。这时候需要做的是加缓存或者更改缓存失效策略。使失效时间分散或者夜间定时失效。

MYSQL 性能优化之服务器性能优化思路详解

如果是出现不规则的延迟或者卡等现象,那么可以通过 show processlist 或者 开启慢查询获取有问题的sql 语句。然后,在通过 profiling 分析语句及 explain 来分析语句。

那么分析语句又分为两种情况,是语句的等待时间长,还是语句的执行时间长。

如果是语句的等待时间长,那一般是io 方面的问题。可以通过调优服务器的参数,如缓存区或者线程数等来解决。

如果是语句的执行时间长。那么可以从几个方面入手:

1、表关联的是不是很多。这种情况一般是因为表设计有缺陷照成的。

2、索引没有优化。

3、语句没有优化。

通过上面的基本步骤,看看能不能解决您的问题。如果到目前为止,还没有解决,那么可以看看是否查询的速度已经达到了基准测试的瓶颈。如果已经达到了瓶颈,那么就应该增加机器了。如果说通过加机器,还没有解决您的问题,那就按照上面的步骤重新检查。

法无定法,具体情况具体分析。我上面讲的,是mysql 服务器优化的一般思路。同学们可以参考。在这个基础上,结合自己的实际情况来解决问题。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180123A001V800?refer=cp_1026

扫码关注云+社区