Skip to Main Content
In this paper we introduce SPEK (storage performance evaluation kernel module), a benchmarking tool for measuring and characterizing raw performance of data storage systems at block level. It can be used for both DAS (direct attached storage) and block level networked storage systems. Each SPEK tool consists of a controller, several workers, and one or more probers. Each worker is a kernel module generating I/O requests to lower level SCSI layer directly. Compared to traditional file system I/O and disk I/O benchmarking tools, SPEK is highly accurate and efficient since it runs at kernel level and eliminates file system overheads. It is specially suitable for accurately measuring raw performance of data storages at block level without influence of file system cache or buffer cache. Using SPEK, a user can easily simulate realistic workloads and produce detailed profiling data for networked storage as well as DAS. We have built a prototype on Linux and our experiments have demonstrated its accuracy and efficiency in measuring block level storage systems.