Part 1: Samba "Comparing the RAID methods and filesystems"
From NAS-4220
Contents |
Introduction
The benchmark tool i have used was izone. this tool is easy to install and available for different platforms. For the understanding of the graphs it has to be mentioned that also a so called record size or blocksize was considered during measurement. You might ask what kind of size it is. The handling of data will always be done in blocks. For Windows three blocksizes are interesting 4k (Memory page size), 8k (will be used by Windows for network traffic), 64K (will be used by Windows for transfer if the data is bigger than 64K). For the plots i have used 64K record size. The Read and Write performance as well as the re-read and -write has been measured. The command looks like the following:
iozone -Rab [results Excel file name] -i 0 -i 1 -+u -f [path (incl name) to NAS] -q 64k -n 2M -g 1G -z
Filesizes of 2MB up to 2 GB where tested. The result will be saved in an Excel file. The test with the NAS was only with SAMBA (Windows Share). It was important for me to compare the different RAID methods and filesystems.
Comparing performance of RAID1, RAID0, SPAN with filesystem ext3
Upoad/Writing
Because of buffering mechanism there is a peek on the left side. It can be seen that it has an influence on speed for a file size up to 64MB. The average of throughput from 64 MB upwards is at 7597Kbyte/sec for RAID1 and for RAID0 at 8811Kbyte/sec. So there is a difference of 1214 Kbyte/sec in write performance where RAID0 is quicker than RAID1. The upload transferrate for SPAN is stable over 128 MB. The average value with a record size of 64 K is 8765 Kbyte/sec. So SPAN and RAID0 is on the same performance level.
Download/Reading
The cache has an influence on the performance up to 64 MB file size. At this size the transferrate for RAID1 will be around 9871 Kbyte/sec and for RAID0 11449 Kbyte/sec which is nearly the same value for SPAN of 11146 Kbyte/sec. The difference of reading access at the NAS between RAID0 and RAID1 is about 1578 Kbyte/sec.
Comparing performance ext3, ext2, fat with JBOD and SPAN
Remark: The file system fat is only usable with JBOD.
Upload/Writing
As already mentioned, SPAN in combination with ext3 has a transferrate of 8765Kbyte/sec, with ext2 it is 11837Kbyte/sec and JBOD with fat has a transferrate of 7991 Kbyte/sec. So it is recognizable that ext2 supports the quickest write access and fat is the slowest file system. If we build the difference between ext2 and ext3 the result is 3072Kbyte/sec and between ext3 and fat only 774 Kbyte/sec.
Download/Reading
SPAN has a stable throughput beyond the buffer cache with 11146 Kbyte/sec, ext2 is around 12577 Kbyte/sec and fat is uploading with a speed of 9113 Kbyte/sec. The ranking is the same like for the upload, the winner is ext2 and fat is the slowest filesystem. The difference between ext2 and ext3 is 11431 Kbyte/sec and between ext3 and fat 2033 Kbyte/sec.
Analysis
Files which are smaller than 128 MB will be cached for reading and writing which will lead in variations of the up- and download rate by a transfer of more files. Because of caching there is sometimes a higher up- and download rate tan an Ethernet can handle. The throughput of re-write (see test protocol in the appendix) with files of 16MB is about 652 Mbyte/sec. SPAN and RAID0 are quicker than RAID1. The filesystem ext2 is quicker than ext3, but ext2 is not this safe in case of a crashe. The loser in this benchmark is fat. But who cares nobody needs it and beside it is not usable for raiding.
A 100Mbps Ethernet has a theoretical maximal throughput of 12.5 Mbyte/sec which can not be reached because of control data. A Gigabit Ethernet connection is about 125Mbyte/sec. The Gigabit Ethernet performance will only be used if the files are smaller than 128 MB and fit into the cache. As the reading performance of the NAS comes close to a 100Mbps connection you can only use it with a Gigabit Ethernet connection. It makes also sense to have an Ethernet connection for slower devices. Under special circumstances the quicker devices will slow there net performance down on the level of the slowest device in the network. More explanations on that I would leave to network hacks.
It is also recognizable that there is a big influence of the data block size on the throughput. Therefore I deduce that the last Linux performance of a previous test was this bad because the block size was to small. It was set by the dd command on a value of only 512 Byte. This is too small for a good performance. As the transferrate can be higher with Linux I will check this with iozone in the next tests. But I was surprised that the performance of the IB-NAS4220-B is better than this of the Thecus 2100. (see Thecus picture in the conlusion, Source of the picture, http://www.smallnetbuilder.com)
With these testdata you have the possibility to compare the performance with different NAS. For that I recommend you the following Link. Select only the device and click in the lower box on „Throughput vs. Filesize“
Conclusion
Here are the result in an overview:
The Testsystem
Iozone was running on a Thinkpad T60, CoreDuo 1,83 GHz with 3GB RAM and operating system Windows XP SP2 and NFS formated. In the NAS two harddrives are running they are each 500GB (SAMSUNG HD501LJ, Hitachi HDT725050VLA360). The devices where connected with a cross-over cable.
Here you can find the test protocols. Here you will find alle values and more information about CPU consumption during loads as well as the tests of Re-write and Re-read.
Sources
http://www.smallnetbuilder.com/content/view/24310/77/
http://mycapsules.com/article.php?p=3&id=56
Bugs: If you find any wrong calculations or information is missing or has to be added please tell me that I can correct it.
--Daddel80 15:01, 20 December 2007 (CET)
