Case study:

Optimising file system use

The problem:

A customer was worried that some of their programs were storing temporary files on remote areas of the file system. These programs were hogging the network and harming their own performance as well as making poor use of their networked storage.

Optimising file system use

The solution:

To solve our customer’s problem, we made a version of Breeze that could measure how often areas of the file system were accessed, instead of looking at which files were used, as it normally does.

To profile your applications just type profile in the Breeze command line or add the -p flag to the trace-program.sh script. By default all data will be turned on, but you can control what you see by setting the options listed in the profiling-options.sh script.

To access profile data just select ‘View IO stats’ in the file menu. You can then use the profiling data wizard to access all the data from your run.

You can access information on how many IO calls your application has made as well as seeing file-system and network performance in the form of latency data. This is critical for discovering bad access patterns for your system.

You can also access high level information such as file system trawls when a program accessed many locations looking for a file. For more information please see the profiling-options.sh script located in the Breeze installation directory.

The result:

The first time we ran Breeze on our customer’s tools, we saw that programs were storing files in the wrong place. They are now able to get much better use of their resources.