寻找 MySQL 服务器的瓶颈

寻找 MySQL 服务器的瓶颈

我有两台 Ubuntu 服务器,配置非常相似,甚至完全相同:两台服务器都有 16 个内核(4 个 E5540 Xeon)、16GB RAM、HP Smart Array P212 控制器,并在 RAID1 中配有 2 个 HDD。使用的 I/O 调度程序是 deadline。两台服务器都运行相同版本的 MySQL(5.1.26,后来升级到 5.1.47/Percona Server 10.2)。数据库相似,但不完全相同。MySQL 配置也非常相似。但性能无法比较:

服务器1:

mysql> 修改表文档添加列测试 int(10) unsigned not null default '0';
查询成功,影响 2496892 行(7 分 18.41 秒)
记录:2496892 重复:0 警告:0
服务器2:
mysql> 修改表文档添加列测试 int(10) unsigned not null default '0';
查询成功,影响 2497414 行(1 分 59.15 秒)
记录:2497414 重复:0 警告:0

Server2 的速度是它的 3.7 倍。

MySQL 基准测试(sql-bench)仅证实 Server2 速度更快:

服务器1:

修改表:总时间:7 秒
ATIS:总时间:3 秒
big-tables:总时间:0 秒
连接:总时间:1 秒
创建:总时间:7 秒
插入:总时间:3 秒
选择:总时间:2 秒
威斯康星州:总时间:4 秒
服务器2:
修改表:总时间:1 秒
ATIS:总时间:1 秒
big-tables:总时间:0 秒
连接:总时间:0 秒
创建:总时间:0 秒
插入:总时间:2 秒
选择:总时间:2 秒
威斯康星州:总时间:2 秒

两台服务器唯一的区别就是操作系统版本,Server1 是 Ubuntu 9.10,内核为 2.6.31-20-server #58-Ubuntu SMP,而 Server2 是 Ubuntu 10.05,内核为 2.6.32-22-server #33-Ubuntu SMP。

我对 Server1 上的 I/O 有严重怀疑。因此,iostat -dkxServer1 上的 %util 值明显更高,约为 25-30%,而 Server2 上仅为 1%。

我运行了 I/O 基准测试 (iozone3),但令我惊讶的是,Server1 的结果略好一些。RAM 测试mbw也对 Server1 有利。

下一步我应该测试什么?可能存在什么问题?

谢谢。

答案1

我不是 Ubuntu 用户,但 10 秒的搜索显示 9 个默认使用 ext3,10 个默认使用 ext4。将“tune2fs -l”的输出发布到您的数据分区上以进行对比/比较。

相关内容