MySQL数据库服务器性能分析

一、服务器配置

CPU: 56核

内存:240G

OS: CentOS release 6.9 (Final)

运行状态(随机值)

二、MySQL服务器

版本信息

mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper

配置文件

/etc/my.cnf

服务器运行状态(观察值)

三、服务器配置综述

通过上述的服务器配置信息和运行状态信息可以得出的结论是,服务器配置资源过剩。CPU的占用率随机查看在 10% 左右,高峰值在20%左右,30%以下,内存的占用率也在40%以下。排除 Web 服务器,单独看MySQL的配置和运行状态栏,MySQL的配置也是过剩的,此结论可以通过以下两个参配置得出:

所以如果选用独立的数据库服务器,连接数4000及16G的内存足够。

四、RDS 出现 CPU 100% 问题分析

此问题出现的原因,可以参文章: RDS实例CPU超过100%的分析

其原理是:cpu 消耗过大通常情况下都是有慢sql 造成的,这里的慢sql 包括全表扫描,扫描数据量过大,内存排序,磁盘排序,锁争用等待等;

表现现象:sql 执行状态为:sending data,Copying to tmp table,Copying to tmptable on disk,Sorting result,locked;

结合慢日志和 show full processlist, 先迈网的根本原因是:有大量的 SQL 语句扫描数据量过大,IO操作消耗尽CPU资源

五、优化方向

分析所有的慢查询日志,结合业务,重写慢 SQL 语句。

分析表结构及查询语句特征,建立更加合理的索引。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181030G0DM7N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券