Blogbench is a benchmarking tool for file systems that is easily portable.
Initially designed to replicate the behavior of the Skyblog.com blog service, Blogbench starts four types of threads; namely, the writers, rewriters, commenters, and readers. The writers' task is to create new blogs (directories) with fake articles and pictures of random amounts. The rewriters, on the other hand, add, update, or modify articles and pictures of existing blogs. Similarly, the commenters add fake comments to any existing blogs while the readers read articles, pictures, and comments of random blogs with an attempt to access non-existent files occasionally.
Apart from being a portable and user-friendly software, Blogbench is also efficient. It writes new files atomically and pushes content with 8 Kb chunks into a temporary file, which is later renamed if everything completes. The default PHP buffer size for writes is 8 Kb, while reads are performed with a 64 Kb buffer. Moreover, fragmentation can occur if concurrent writers and rewriters execute with suboptimal preallocation, which is interesting to check how different filesystems respond to it.
Lastly, it is essential to note that every blog in Blogbench is a new directory within the same parent directory. Therefore, since some systems can manage a limited number of links to the same directory, such as UFS, forcing the test to run on these systems for an extended period may yield erroneous results. In conclusion, Blogbench is an excellent software for testing and assessing filesystems, especially on scalability and concurrency.
Version 1.0: N/A