How to reliably measure the performance of a FreeNAS zpool?
Hi,
I created a few different zpool configs on ZFS using FreeNAS and I'm trying to figure out a way to reliably benchmark the performance.
I first tried it from a remote host connecting to an SMB share. In Windows I can't get any higher than 60 MBps. Both using a normal file copy (big file) and using various benchmarking tools. On linux I tried filling up a file using
to a smb mapped drive using a simple dd if=/dev/zero of=/mnt/cifs-share1/test1.img bs=1G count=5 There I get up to 106 MBps and then I guess I'm hitting the 1 Gbps Ethernet connection speed limit.
On to the host itself: So far I tried the default way using iozone which ships with FreeNAS. But the results seem to be high to be true so the question is how do I do it reliably and how to interpete the results?
The result I'm getting is:
sudo iozone -i 0 -R -l 5 -u 5 -r 4k -s 10G | tee -a /tmp/iozone_results.txt
Excel chart generation enabled Record Size 4 kB File size set to 10485760 kB Command line used: iozone -i 0 -R -l 5 -u 5 -r 4k -s 10G Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. Min process = 5 Max process = 5 Throughput test with 5 processes Each process writes a 10485760 kByte file in 4 kByte records Children see throughput for 5 initial writers = 1224543.30 kB/sec Parent sees throughput for 5 initial writers = 1158243.81 kB/sec Min throughput per process = 238010.19 kB/sec Max throughput per process = 249081.27 kB/sec Avg throughput per process = 244908.66 kB/sec Min xfer = 10019684.00 kB Children see throughput for 5 rewriters = 1195993.89 kB/sec Parent sees throughput for 5 rewriters = 1123344.59 kB/sec Min throughput per process = 231760.47 kB/sec Max throughput per process = 243582.41 kB/sec Avg throughput per process = 239198.78 kB/sec Min xfer = 9976868.00 kB"Throughput report Y-axis is type of test X-axis is number of processes""Record size = 4 kBytes ""Output is in kBytes/sec"" Initial write " 1224543.30" Rewrite " 1195993.89
Smb
NFS
Iscsi
Your need smb has a handling overhead as does NFS though different.
Depends on your needs, what is the average file size and quantity will you expect to be transferred in and out from that locations?
To gauge the pergormance based on your utilization.
I.e. If all the Santa stored are 60k to 1mb files, testing large100mb file through put ...
Try this, as possibly an explanation.
You have a cargo of 500lbs/kg to transfer from point A to point B.
One it is a single pallet the other is an assortment of boxes.
It will take you longer to load, transport, unload the cargo with multiple boxes compared to the single pallet
The transport will take the same amount of time.......
J Z
ASKER
OK Arnold thank you. But what is your question? How big the files are going to be? Well I assume some of it is gonna be random (all kind of things) and a part of it is going to be a lot os 13,2 MB files.
But the question was how do I reliably test the expected throughput. I have to know to be somewhat more sure that it makes sense to invest in 10 Gbps Ethernet. That's the main concern.
NFS
Iscsi
Your need smb has a handling overhead as does NFS though different.
Depends on your needs, what is the average file size and quantity will you expect to be transferred in and out from that locations?
To gauge the pergormance based on your utilization.
I.e. If all the Santa stored are 60k to 1mb files, testing large100mb file through put ...
Try this, as possibly an explanation.
You have a cargo of 500lbs/kg to transfer from point A to point B.
One it is a single pallet the other is an assortment of boxes.
It will take you longer to load, transport, unload the cargo with multiple boxes compared to the single pallet
The transport will take the same amount of time.......