我刚得到一个惠普DL180 G6,它有25X146GB15KSAS驱动器,36 G6内存,2X2.0GHzXeon1333MHzFSB。为了好玩,我在一个RAID 0中配置了它们,并在上面安装了Ubuntu,看看它在HP智能阵列P410控制器w/ 512 HP上的25个驱动器能达到多快。
当我运行hdparm -tT /dev/mapper/concorde root时,我得到
Timing cached reads: 5658MB in 1.99 seconds = 2834.13 MB/sec
Timing buffered disk reads: 1192 MB in 3.00 seconds = 397.13 MB/sec当我在我的另一台服务器上运行相同的命令(HP DL360 G5 -32 get 2X 2.66GHz 667MHzFSB)时,我得到的驱动器只有4X15K:
Timing cached reads: 13268 MB in 1.99 seconds = 6665.18 MB/sec
Timing buffered disk reads: 712 MB in 3.00 seconds = 237.17 MB/sec我原以为这个比旧的快5倍,而不是慢。服务器的目的是提供流媒体,所以我需要超快的访问和传输,以跟上21GB的网络端口,我希望在执行其他任务的同时,有时也能达到最大。
我只是把一个400 96的MP4文件的拷贝放在一起,以便将45 96的文件从一个目录复制到另一个目录,这花费了96秒的时间,这对我听说过的RAID 0性能提升的所有东西来说都是错误的。
它是作为硬件raid设置的,我需要在Linux中做些什么来利用应该存在的额外速度吗?我使用哪种版本的Linux有关系吗?我对CentOS和Ubuntu很满意,但如果需要的话可以做其他的事情。
我是否应该使用不同的命令来衡量性能?昨天我试着用iotop和iostat来监视RAID的使用情况,但是在通过FTP复制2GB文件时,无法让它报告任何使用情况,所以我不得不尝试设置一个基准,比较它在服务器上的性能,并监视它,这样我就可以知道硬盘何时出现故障,需要用SSD替换。
发布于 2014-12-31 22:03:14
哇..。这里有很多要解决的问题。
hdparm不是测试企业存储的合适工具。查看目标构建的程序,如iozone和fio。一个可能对您有帮助的示例iozone命令是(从您希望测试的磁盘阵列上的一个大目录运行):iozone -t1 -i0 -i1 -i2 -r1m -s72g
插槽0(嵌入式) (sn: 0014380296200A0)逻辑驱动器1(72.0GB,RAID 1+0,OK)逻辑驱动器2 (1024.0 GB,RAID 1+0,OK)逻辑驱动器3 (869.1 GB,RAID 5,OK)物理驱动器1I:2:1 (端口1I:方框2:bay 1,SAS,900.1 GB,OK)物理驱动器1I:2:2 (端口1i:框2,SAS,900.1 GB,OK)物理驱动器1I:2:3 (端口1i:框2:3:BA3,SAS)900.1 GB,OK)物理驱动器1I:2:4 (端口1i:方框2:bay 4,SAS,900.1 GB,OK)
发布于 2015-01-01 05:36:03
有一件事马上就跳出来了,那就是新服务器上的低缓存吞吐量,这表明您有一个内存瓶颈。你提到它有36 GB的内存,这是一个奇数。我敢打赌,你没能在两对(或者3x,如果这个cpu/板是能够三重交织,我怀疑它是),因此,公羊没有正确地交织。您可以运行memtest86+以获得内存吞吐量的良好测量结果。
至于实际的IO吞吐量,对于这么大的数组,您可能没有向其抛出足够的请求。hdparm一次只读取2 MiB,所以如果数组使用512 k条因子,那么每次只会有4个驱动器处于忙碌状态。对于其他命令,如dd,它取决于readahead大小,默认的readahead大小仅为128 kb。尝试使用dd而不是hdparm (不使用iflag=direct ),并在/sys/block/dm/queue/read_ instead _kb中增加readahead因子,以确保内核发送足够大的请求来保持所有驱动器的忙碌,或者如果您确实在dd中使用iflag=direct,那么确保使用bs=非常大的值,比如32MiB,然后内核readahead设置就无关紧要了。
https://serverfault.com/questions/655663
复制相似问题