Monday, March 25, 2013

IOZone Performance Measurements of OpenAFS

The I/O processing pathways were rewritten for the OpenAFS 1.7.22 release. One industry standard method of measuring I/O performance in a file system independent manner is the iozone benchmark developed and maintained by Don Capps of NetApp. 

This blog post will compare the iozone results for OpenAFS 1.5.75 which uses the SMB to AFS gateway service and OpenAFS 1.7.23 which uses the new AFS redirector. 

The test environment includes a Lenovo Thinkpad W701ds workstation running Win7-64 as the client system. 8GB ram, dual Core i7 x920 2.00GHz processors (8 cores total), Windows Experience ratings: 
  • Processor; 7.2 
  • Memory: 7.4 
  • Graphics: 5.8 
  • Gaming: 6.5 
  • Disk: 5.9 
The connection to the file server is a 1Gbit wired network through a 10Gbit switch.  The file server is OSX 10.6.8 Server running on a 2010 Mini Server using iSCSI attached storage sharing a single 1Gbit network interface.  The OpenAFS file server is version 1.6.2 using Demand Attach. The AFS cache manager configuration includes: 
  • BlockSize 1 (4KB) 
  • CacheSize 0x200000 (2GB) 
  • ChunkSize 21 (2MB) 
  • RxUdpBufSize 0xc00000 
 All iozone tests were performed using "-Rac output.wks -g 2G".  

Write Performance Comparisons

One of the big complaints with the OpenAFS SMB to AFS gateway is the poor write throughput.   The iozone output for 1.7.75 demonstrates the limitations.  Although the peak throughput for small files (about 1MB) reaches the 30,000 KBytes/second mark, the sustained throughput for larger files is below 16,000 KBytes/second.
OpenAFS 1.5.75 (SMB) Write Performance

The 1.7.23 AFS Redirector does a much better job.  The peak throughput increases with both the record size and the file size.   Depending on the record size the throughput ranges from 30,000 KBytes/second to 65,000 KBytes/second.  This is more than double the peak throughput of the SMB to AFS gateway.
OpenAFS 1.7.23 (RDR) Write Performance

Read Performance Comparisons

1.5.75 read performance is quite inconsistent.   Although there are peak throughput values above 200,000 KBytes/second the majority of record sizes are read at speeds in the 80,000 to 100,000 KBytes/second range.
OpenAFS 1.5.75 (SMB) Read Performance

The 1.7.23 AFS Redirector is faster by a factor of ten.   The majority of record sizes demonstrate read throughput in the 800,000 KBytes/second to 1,000,000 KBytes/second range.
OpenAFS 1.7.23 (RDR) Read Performance


One of the primary goals of converting OpenAFS from a SMB gateway to a legacy file system redirector was a significant improvement in I/O throughput.  The improvements on the read pathway have certainly be obtained.  The 2x improvement in the write path is good but there is certainly room for further improvement.

No comments: