【发布时间】:2026-01-10 17:10:01
【问题描述】:
我们的应用程序使用 MySql 版本 4.0.24 很长时间了。我们正在尝试将其迁移到版本 5.6.27。 但是,在 5.6.27 上测试性能时,即使是简单的选择和更新,在我们进行负载测试时也会慢 30-40%。 CPU 和 IO 速度比旧服务器好得多。表的存储引擎在两个版本中都是 MyIsam。只有一个与数据库的连接。我们尝试了以下选项:
- 将存储引擎更改为 InnoDb - 这会大大降低性能(慢 70%)
- 更改 innodb 日志大小和缓冲区大小 - 没有多大帮助
- 使用 MyIsam 存储引擎为表增加密钥缓冲区大小。 - 没有区别
我们尝试修改查询缓存、tmp_table_size、heap_table_size 等其他参数。但是,它们都没有任何区别。
如果有其他我们可以尝试的选择,请告诉我?
这是 my.cnf 的副本:
lower-case-table-names=1
myisam-recover=FORCE
key_buffer_size=2000M
【问题讨论】:
-
您可能会从 ServerFault 获得更好的答案 ...
-
请给我们看一份 my.cnf 的副本。在 Linux 服务器中,它通常位于 /etc/my.cnf
-
这就是 my.cnf 吗?通常具有相同 my.cnf 的同一台服务器和不同版本的 mysql 的行为方式相同
-
“简单的选择和更新”——你是单独计时吗?还是作为一批查询?
-
InnoDB 可能只是因为没有充分调整变量而变慢。将 innodb_buffer_pool_size 设置为可用内存的 70% 并将 innodb_flush_log_at_trx_comment 设置为 2 再试一次。
标签: mysql performance