升级到MySql5.5后服务器负载高

升级到MySql5.5后服务器负载高

大约 10 小时前,我们将服务器从 5.0 升级到 5.5,目前服务器负载为 150

当我显示进程列表时,我看到很多带有状态的查询

等待查询缓存锁

我得到以下 SHOW STATUS LIKE 'Qcache%' 的输出;

+-------------------------+----------+
| 变量名称 | 值 |
+-------------------------+----------+
| Qcache_free_blocks | 1 |
| Qcache_free_memory | 33536864 |
| Qcache_hits | 0 |
| Qcache_inserts | 0 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 1463936 |
| Qcache_queries_in_cache | 0 |
| Qcache_total_blocks | 1 |
+-------------------------+----------+
共 8 行 (0.00 秒)

查询缓存参数设置为

查询缓存大小=32M

我们的服务器是具有 8GB RAM 的单节点,不确定为什么查询缓存不起作用

答案1

我在 serverfault 上找到了答案,高负载是因为查询缓存不工作,而查询缓存不工作是因为数据库名称中有一个连字符。

当我重命名数据库而不使用连字符时,一切恢复正常。

参考票 当架构名称中包含连字符(“-”)时,MySQL 5.5.9 查询缓存不起作用

谢谢侯赛因

相关内容