带有 MySQL 5.6 的 Solaris 10 中的 MySQL 性能问题

Posted

技术标签:

【中文标题】带有 MySQL 5.6 的 Solaris 10 中的 MySQL 性能问题【英文标题】:MySQL performance issue in Soalris 10 with MySQL 5.6 【发布时间】:2017-03-09 09:01:56 【问题描述】:

我在 mysql 5.6 升级时遇到了性能问题。

操作系统版本:Solaris 10

语言:Perl 脚本

MySQL 版本:MySQL 从 5.1 升级(逻辑升级-在同一服务器上安装 5.6 并在 5.6 中恢复)

内存:64 GB

我已在 solaris 10 中将 MYSQL 形式 5.1 升级到 5.6,并将所有 mysql 表从 MYISAM 转换为 INNODB,因为 mysql 5.6 的默认存储引擎为 INNODB。我的数据库大小为 4.5 GB,并添加了 innodb 的参数。

innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=512 M
innodb_buffer_pool_size=5 G

我的应用程序在执行事务时创建了一些临时表,因此我创建了 tmp_table_sizemax_heap_table_size 到 512 M。

在应用程序中有 3 个模块,其中 2 个工作正常,而在第三个模块中,它与 MySQL 5.1 相比非常慢。它包含近 20 多个更新语句,并与临时表和主表进​​行一些连接,其中一些表中包含 200 万条记录。

我制定了解释计划并对查询进行了分析。在分析中,我观察到发送数据需要大量时间,因为这种性能会下降。

任何人都可以就此提出建议以提高性能。

【问题讨论】:

【参考方案1】:

solaris10 和 mysql 从 5.1 升级到 5.6 也有类似的问题。 我进行了逻辑升级,在恢复时需要很长时间才能恢复 1Gb 数据库。我尝试过 inplace upgrde 并发现了类似的性能问题。

只是我有运行过去 3.5 年的 solaris 10 服务器。所以我重新启动了我的服务器,以便清除所有缓存,重新启动后我启动了所有数据库服务。

注意:在重新启动之前停止所有服务,最好创建另一个 5.1 数据库版本并进行备份并开始就地升级活动。最好使用就地而不是进行逻辑升级。两者都是一样的,但恢复时需要更多时间。

【讨论】:

以上是关于带有 MySQL 5.6 的 Solaris 10 中的 MySQL 性能问题的主要内容,如果未能解决你的问题,请参考以下文章

带有 MySQL Server 5.6 的 Liferay 7 未启动

[ Laravel 5.6 文档 ] 进阶系列 —— 任务调度

windows10 安装 mysql 5.6 教程

MySQL 5.6安装

windows10下安装Mysql 5.6(zip格式安装包)

MariaDB 10.0 和 MySQL 5.6 有何不同