带有 raid10 的 HP ProLiant ML310e Gen8 v2 上的 SQL 性能较差

带有 raid10 的 HP ProLiant ML310e Gen8 v2 上的 SQL 性能较差

我最近购买了 HP ProLiant ML310e Gen8 v2 服务器,配备 8G RAM 和 4 个 HP 1TB 6G 7.2k rpm SATA(3.5 英寸)非热插拔 MDL HDD 磁盘。

令我惊讶的是,HP 没有为 RAID 控制器提供 Debian 驱动程序,因此我不得不使用软件 RAID。我安装了 Debian 及其自己的软件 RAID 和 RAID 级别 10。

安装后,我遇到了巨大的性能损失,看起来我设法将其追踪到 MySQL 操作。

服务器主要用作 Apache2 服务器,带有 MySQL 数据库。

这是我运行的用于测量服务器和台式电脑的 SQL 操作时间的简单脚本。

$sql = "SELECT id FROM c_event";
$events = $db->getall($sql);
foreach($events as $item)
    $db->query("INSERT table1 set id = {$item['id']}");
foreach($events as $item)
    $db->query("DELETE FROM table1 WHERE id = {$item['id']}");

我将结果与配备 Intel Q6600、4GB 内存和 120G SSD 磁盘的台式电脑进行了比较。

  • 桌面在 45 秒内完成
  • 服务器耗时 2 小时 46 分钟 18 秒。

差异实在太大了。有什么建议吗?

对于我来说,服务器 raid 性能似乎还可以,因为磁盘不是质量最好的。

hdparm -t /dev/md1
/dev/md1:
 Timing buffered disk reads: 1024 MB in  3.00 seconds = 341.04 MB/sec

编辑:

IOSTAT:测试期间在问题服务器上:

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              43.00         0.00       256.00          0        512
sdb              43.00         0.00       256.00          0        512
sdc              54.00         0.00       262.00          0        524
sdd              54.50         0.00       266.00          0        532
md0               0.00         0.00         0.00          0          0
md1             129.00         0.00       520.00          0       1040

在具有 15k SAS 磁盘的服务器上

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda            4819.50         0.00     24240.00          0      48480

答案1

由于您绕过了硬件 RAID 功能,因此 RAID 控制器上没有写入缓存。这是您的主要问题...

人们购买这些 HP Gen8“e”版本而不是“p”版本。“e”服务器对操作系统的支持有限,并且功能HP 动态智能阵列 RAID 控制器,仅附带二进制驱动程序...如果您的操作系统超出了这些控制器的支持范围,您唯一的办法就是使用软件 RAID 或购买合适的 PCIe RAID 控制器。

在此处输入图片描述

您的性能将受到较慢的 7,200 RPM 磁盘的限制,但硬件 RAID 情况将产生更大的影响按照你的规模而不是将磁盘更改为企业 SAS。

另请参见:在 HP ProLiant DL380e Gen8 服务器上安装 Oracle Linux 6.4

答案2

差异实在太大了。

不,如果您有大型数据库,那就没问题。看......

120G SSD磁盘。

大约是 60,000 IOPS

4 惠普 1TB 6G 7.2k rpm SATA

那大约是 - hm - 300 IOPS。如果都是只读的,而且控制器真的很好,也许会多一点。

基本上,基于 SSD 的笔记本电脑比只注重大小而不注重速度的糟糕磁盘布局要好得多。而且数据库喜欢磁盘速度。

你不应该买那台机器来当作数据库服务器。就这么简单。

现在:

对于我来说,服务器 raid 性能似乎还可以,因为磁盘不是质量最好的。

哈哈哈。是的。测量线性速度是无用的。你不如做一个适当的 IOPS 测量并比较一下。是的,磁盘对于单线程线性数据访问是没问题的。坏消息:这不是服务器上发生的事情,也不是数据库系统上发生的事情。

相关内容