基准测试 - 第2页

基准测试

2007年2月2日

在文章 lighty 1.5.0 和 linux-aio 中,我们提出了一套基准测试套件,用于测量磁盘I/O密集型应用程序的性能。

http_load

作为负载生成器,我们使用 http_load,因为它

  • 允许从URL列表中随机获取
  • 允许大量并行请求
  • 具有可移植性

在命令行中,我们希望这样执行它:

$ ./http_load -verbose -parallel 100 -fetches 10000 urls

文件池

在待测机器上,我们生成了两组10GB的文件。一组是100,000个100KB的文件,另一组是1,000个10MB的文件。

$ cd $docroot
$ mkdir -p seek-bound/100k/
$ cd seek-bound/100k/
$ for i in `seq 1 1000`; do
  mkdir -p files-$i;
  for j in `seq 1 100`; do
    dd if=/dev/zero of=files-$i/$j bs=100k count=1 2> /dev/null;
  done;
done

文件池的大小是服务器主机可用RAM的10倍。基于这种磁盘布局,我们为http_load生成了URL列表。

$ find ./seek-bound/100k/ | grep 'files.*/.' | sed 's#\./#http://192.168.2.106/#' > http-load.100k.urls

对10MB文件执行相同的命令,以生成一个文件集,用于检查大文件的性能。

硬件

测试网络由以下设备组成:

  • 网件 GS108,一台8端口千兆交换机
  • 客户端
    • 操作系统:Windows XP 专业版 64位
    • CPU:AMD64 X2 (双核) 4200+
    • 网卡:英特尔 Pro/1000
  • 服务器
    • 操作系统:Linux 2.6.16.21-0.25-default x86_64 (OpenSuse 10.1)
    • CPU:AMD64 3000+
    • 网卡:英特尔 Pro/1000
    • 模块:默认,但ip_conntrack已rmmod
    • 磁盘:2块SATA磁盘通过md驱动器组成RAID1

磁盘是

Model Number:       ST3160827AS
Serial Number:      5MT02VGJ and 3MT08WDV
Firmware Revision:  3.42
$ cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sda2[0] sdb2[1]
           155235968 blocks [2/2] [UU]