php - 对于相同的测试套件,MySQL 5.7 比 5.5 慢 3 倍

标签 php mysql phpunit ubuntu-16.04

我最近升级了我的机器:

i7-860(12GB RAM,120GB SSD)运行 Ubuntu 14.04 和 MySQL 5.5(旧)

到新机器:

i7-7560U(16GB RAM,512GB SSD)运行 Ubuntu 16.04 和 MySQL 5.7(新)

两台机器具有相同的 PHP 配置 (7.1) 以及各自版本的开箱即用 MySQL 配置。

机器上,我的phpunit测试套件在5.5秒内运行,在机器上,它运行在20秒内秒。我已将问题范围缩小到 MySQL。每个测试都会启动框架并重置数据库(删除/添加架构)。我相信数据库重置是速度减慢的原因。

我知道我的新机器有 1/2 的核心/线程,但这会导致我看到的速度变慢吗?我在两台机器上运行 sysbench 并收到了类似的结果(MySQL 在新机器上每秒有更多事务)。

我可以对 MySQL 5.7 进行任何配置调整来提高性能吗?

我缺少什么吗?

最佳答案

您可以使用此工具为您的服务器生成优化的 my.cnf mysql 服务器配置 https://tools.percona.com

过去,我们在生产服务器中使用此工具的输出来获得非常好的速度,而不是开箱即用的默认设置 mysql 服务器。

关于php - 对于相同的测试套件,MySQL 5.7 比 5.5 慢 3 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47099426/

相关文章:

php - 以编程方式向 JSON 添加数据的最简单方法是什么?

php - 从mysql中选择

python - 如何从 SQL 表中下载大数据并通过一次获取 1000 条左右的记录连续保存到 csv 中

php - PHPUnit 模拟对象是否可以替换类中创建的对象?

unit-testing - PHPUnit 模拟方法调用了 0 次,而它应该被调用一次

php - Laravel - 模型以空属性值(NULL)保存到数据库

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - LEFT JOIN 时分页中断

mysql - 在 SQL 中返回列表和计数

composer-php - 如何更新 phpunit 6 和代码覆盖率 5