Some open-source projects made by Frank DENIS.

Blogbench

A filesystem benchmark for Unix

Blogbench is a portable filesystem benchmark that tries to reproduce the load of a real-world busy file server.

About

Blogbench is a portable filesystem benchmark that tries to reproduce the load of a real-world busy file server.

It stresses the filesystem with multiple threads performing random reads, writes and rewrites in order to get a realistic idea of the scalability and the concurrency a system can handle.

Blogbench was initially designed to mimic the behavior of the Skyblog.com
blog service.

4 different types of threads are started:

New files are written atomically. The content is pushed with 8 Kb chunks in a
temporary file that gets renamed if everything completes. 8 Kb is the default
PHP buffer size for writes.

Reads are performed with a 64 Kb buffer.

Concurrent writers and rewriters can quickly create fragmentation if the preallocation is not optimal. But it is very interesting to check how different filesystems reacts to fragmentation.

Every blog is a new directory withing the same parent directory. Since some filesystems are unable to manage more than 32k or 64k links to the same directory (an example is UFS), you should not force the test to run a silly amount of time on these filesystems.