Log-structured file system for Linux 2.6

Postmark benchmark under LFS and ext3

Postmark is a benchmark based on small file operations similar to those used on large mail servers and news servers. A Solaris white paper describes it with the following words:

Network Appliance's PostMark has become an industry-standard benchmark for small file and metadata-intensive workloads. As outlined above, it was designed to emulate Internet applications such as e-mail, netnews, and e-commerce. More detail on the benchmark can be found in PostMark: A New File System Benchmark15.

PostMark works by creating a configurable sized pool of random text files ranging in size between configurable high and low bounds. These files are continually modified. The building of the file pool allows for the production of statistics on small file creation performance. Transactions are then performed on the pool. Each transaction consists of a pair of create/delete or read/append operations. The use of randomization and the ability to parameterize the proportion of create/delete to read/append operations is used to overcome the effects of caching in various parts of the system.

We have run this benchmark twice on both LFS (with roll-forward recovery) and ext3 (with hash b-tree directories), performing five million transactions on ten thousand files. The results show that LFS is 7.5 times as fast. On the other hand, it is important to note no cleaning has been done by LFS in this experiment.

The computer used in this experiment was an AMD Athlon(tm) XP 2500+ with 256MB RAM with two SATA disks. The measured file systems always resided on a 80GB Seagate Barracuda while the rest of the system was placed on a 120GB WD.

Postmark transaction performance graph Postmark file operations performance graph Postmark throughput graph

LFS postmark session:

	  PostMark v1.51 : 8/14/01
	  pm>set location /mnt
	  pm>set number 9999
	  pm>set transactions 5000000
	  pm>show
	  Current configuration is:
	  The base number of files is 9999
	  Transactions: 5000000
	  Files range between 500 bytes and 9.77 kilobytes in size
	  Working directory:
	  /mnt (weight=1)
	  Block sizes are: read=512 bytes, write=512 bytes
	  Biases are: read/append=5, create/delete=5
	  Using Unix buffered file I/O
	  Random number generator seed is 42
	  Report format is verbose.
	  pm>run
	  Creating files...Done
	  Performing transactions..........Done
	  Deleting files...Done
	  Time:   
	  1007 seconds total
	  1006 seconds of transactions (4970 per second)

	  Files:  
	  2510496 created (2493 per second)
	  Creation alone: 9999 files (9999 per second)
	  Mixed with transactions: 2500497 files (2485 per second)
	  2499695 read (2484 per second)
	  2472080 appended (2457 per second)
	  2510496 deleted (2493 per second)
	  Deletion alone: 10993 files (10993 per second)
	  Mixed with transactions: 2499503 files (2484 per second)

	  Data:   
	  16307.03 megabytes read (16.19 megabytes per second)
	  16302.64 megabytes written (16.19 megabytes per second)

	

Ext3 postmark session:

	  PostMark v1.51 : 8/14/01
	  pm>set location /mnt
	  pm>set number 9999
	  pm>set transactions 5000000
	  pm>show
	  Current configuration is:
	  The base number of files is 9999
	  Transactions: 5000000
	  Files range between 500 bytes and 9.77 kilobytes in size
	  Working directory:
	  /mnt (weight=1)
	  Block sizes are: read=512 bytes, write=512 bytes
	  Biases are: read/append=5, create/delete=5
	  Using Unix buffered file I/O
	  Random number generator seed is 42
	  Report format is verbose.
	  pm>run
	  Creating files...Done
	  Performing transactions..........Done
	  Deleting files...Done
	  Time:
	  7577 seconds total
	  7575 seconds of transactions (660 per second)

	  Files:
	  2510496 created (331 per second)
	  Creation alone: 9999 files (9999 per second)
	  Mixed with transactions: 2500497 files (330 per second)
	  2499695 read (329 per second)
	  2472080 appended (326 per second)
	  2510496 deleted (331 per second)
	  Deletion alone: 10993 files (10993 per second)
	  Mixed with transactions: 2499503 files (329 per second)

	  Data:
	  16307.03 megabytes read (2.15 megabytes per second)
	  16302.64 megabytes written (2.15 megabytes per second)
	
Valid HTML 4.01 Strict Valid CSS!