我有两台 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 -dkx
Server1 上的 %util 值明显更高,约为 25-30%,而 Server2 上仅为 1%。
我运行了 I/O 基准测试 (iozone3),但令我惊讶的是,Server1 的结果略好一些。RAM 测试mbw
也对 Server1 有利。
下一步我应该测试什么?可能存在什么问题?
谢谢。
答案1
我不是 Ubuntu 用户,但 10 秒的搜索显示 9 个默认使用 ext3,10 个默认使用 ext4。将“tune2fs -l”的输出发布到您的数据分区上以进行对比/比较。