性能测试前,请注意以下事项 :
(1)吞吐最大不会超过服务器内网带宽,如果内网带宽太小,则吞吐会被流量控制。
例如,您的NAS文件系统,其初始读带宽为150 MB/s。如果您的服务器内网带宽为100 Mbps,则吞吐最大可达12.5 MB/s,如果要测试达到150 MB/s,则需要至少12台服务器进行测试。 如果您的服务器内网带宽为1Gbps,则吞吐最大可达到125 MB/s,如果要测试达到150 MB/s,则需要至少2台服务器进行测试。
(2)在Linux操作系统中,NFS客户端对于同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能。请在安装NFS客户端后,修改同时发起的NFS请求数量,提高NFS性能。
操作步骤:
1.安装FIO测试工具
yum install fio
2.运行性能测试命令
在单台Linux 服务器中执行以下命令测试性能。
随机读IOPS:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt
随机写IOPS:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt
附: 如何修改同时发起的NFS请求数量
NFS客户端对同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能,建议您将该参数值修改为128。
1.安装NFS客户端。
2.执行以下命令,将同时发起的NFS请求数量修改为128。
echo “options sunrpc tcp_slot_table_entries=128” >> /etc/modprobe.d/sunrpc.conf
echo “options sunrpc tcp_max_slot_table_entries=128” >> /etc/modprobe.d/sunrpc.conf
sysctl -w sunrpc.tcp_slot_table_entries=128
3.挂载文件系统
4.执行以下命令查看修改结果,如果返回值为128,则说明修改成功。
cat /proc/sys/sunrpc/tcp_slot_table_entries