On 18/09/2012 11:35, GuoZhong Han wrote:
Hi Stan: Thanks for your advice. In your last mail, you mentioned XFS file system. According to your suggestion, I changed the file system from raid5 (4*2T, chunksize: 128K, strip_catch_size:2048) to XFS. Then I did a write performance test on XFS. The test was as follows: My program used 4 threads to do parallel writing to 30 files with 1MB/s writing speed on each file. Each thread was bound on a single core. The estimated total speed should be stable at 30MB/s. I recorded the total writing speed every second in the test. Compared with speed of ext4, when the array was going to be full, the performance of XFS has indeed increased. The time to create the XFS file system was much less than the cost of ext4. However, I found that the total speed wasn’t steady. Although most of time the speed can reach to 30M/s, it fell to only about 10MB/s in rare cases. Writing to 30 files in parallel was supposed to be easy. Why did this happen?
Two questions - what is the XFS built on? 4 x 2TB in a linear concatenation, or something else?
Secondly, are all your files in the same directory, or in different directories? XFS scales by using multiple threads for different allocation groups, and putting these groups in different places on the underlying disk or disks - but files in the same directory go in the same allocation group. So 30 files in 30 directories will give much more parallelism than 30 files in 1 directory.
-- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html