参数优化:其实是MYSQL官方留给我们适用于我们服务器具体情况的一种解决方式 .
两个命令:

show status      #列出MySQL服务器运行各种状态值
Show variables   #列出MYSQL服务器配置信息

1: 慢查询
mysql 参数优化

log_slow_queries=slow_queries   #这个与以前作用基本相同,并且还是需要重启才能生效(ON:为打开off:为关闭)
Slow_launch_time                #执行时间超过2秒则被记录。
slow_query_log                  #这是一个可以在运行时改变的全局变量,表示是否打开慢查询日志,在此处加上即表示ON.

mysql 参数优化
上图代表:系统显示有19054个慢查询。发现后。直接去日志查看就OK。

2: 最大连接数
有时候MYSQL会出现这个错误 ERROR 1040: Too many connections”的情况,这是因为:
访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;
另外一种情况是MySQL配置文件中max_connections值过小。
如图:
mysql 参数优化
最大连接数为500个.
mysql 参数优化
实际连接数为257

蛮好的。
其实有一个公式来判断他的好坏。 实际最大连接数/最大连接数 =85%左右的话。很不错的。
如果10%一下的话。很可能因为你最大连接数配置高了。

3: Key_buffer_size

mysql 参数优化
分配了 256M 的Key_buffer_size ,他主要用来干嘛?

索引命中率高低的平衡参数。
mysql 参数优化

Key_read_requests   #索引的请求
Key_reads           #没用到索引。直接去硬盘扫描去了

那么我们怎么去平衡那。这里还有一个公式

Key_reads/key_read_requests 小于0.1%基本还不错的。1000个请求一个区扫描硬盘。

4: key_blocks_u*

mysql 参数优化

Key_blocks_unused       #表示未使用的缓存簇(blocks)数
Key_blocks_used表       #示曾经用到的最大的blocks数

现在环境,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。Key_blocks_used / (Key_blocks_unused + Key_blocks_used) =80%左右还不错.

5: Open Table情况

mysql 参数优化
这里代表是表缓存 table_cache.

Open_tables  #打开表的数量
Opened_tables #打开过表的数量

我们查询下table_cache
mysql 参数优化
下面的公式很好的。大约这个情况还不错的.
Open_tables / Opened_tables * 100% >= 85%
Open_tables / table_cache * 100% <= 95%

相关文章:

  • 2021-08-26
  • 2021-08-12
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-05-17
猜你喜欢
  • 2022-01-29
  • 2022-02-14
  • 2022-02-18
  • 2021-11-24
  • 2021-12-24
相关资源
相似解决方案