寻找MySQL服务器的瓶颈

我有两个非常相似(如果不是相同)configuration的Ubuntu服务器:它们都有16个内核(4个E5540 Xeon),16GB内存,带有2个硬盘的HP Smart Array P212控制器。 使用的I / O调度程序是截止date。 两者都运行相同版本的MySQL(5.1.26,后来升级到5.1.47 / Percona Server 10.2)。 数据库是相似的,但不完全一样。 MySQL的configuration也非常相似。 但是performance是无与伦比的:

服务器1:

  mysql> alter table文件添加列testingint(10)unsigned not null默认值为'0';
查询OK,2496892行受影响(7分钟18.41秒)
logging:2496892重复:0警告:0 

服务器2:

  mysql> alter table文件添加列testingint(10)unsigned not null默认值为'0';
查询OK,2497414行受影响(1分钟59.15秒)
logging:2497414重复:0警告:0 

Server2是3.7倍的速度。

MySQL基准(sql-bench)只能确认Server2要快得多:

服务器1:

  alter-table:总时间:7 wallclock secs 
 ATIS:总时间:3时钟秒 
大表:总时间:0时钟秒
连接:总时间:1时钟秒 
创build:总时间:7壁钟秒 
插入:总时间:3壁钟秒
select:总时间:2壁钟秒 
威斯康星州:总时间:4壁钟秒 

服务器2:

  alter-table:总时间:1 wallclock秒 
 ATIS:总时间:1时钟秒 
大表:总时间:0时钟秒 
连接:总时间:0壁钟秒 
创build:总时间:0壁钟秒 
插入:总时间:2壁钟秒 
select:总时间: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%vs Server2上的1%。

我跑I / O基准(iozone3),但令我惊讶的是,Server1产生了稍微好一点的结果。 用mbw进行RAMtesting也得到了Server1的青睐。

接下来我应该testing什么? 可能是什么问题呢?

谢谢。

我不是一个Ubuntu的家伙,但10秒的search显示9使用ext3和10默认使用ext4。 在您的数据分区上发布“tune2fs -l”的输出以进行对比/比较。