G A L A X Y ® A U R O U R A C O N F I G U R A T I O N A N D S Y S T E M I N T E G R A T I O N G U I D E
91
Section 3 Management
in relation of the array, when the computer playing the video starts playing at
12MB of the file (for example), the array has already read the next 3MB, and is
ready to play up to 15MB, without doing any disk activity. As the computer
plays through this cache, it is refreshed with new data as necessary. Making
this setting it too high would cause kind of a stopping/starting of data reading
on the array, and setting it too low would render the cache not as effective.
Stripes Required in Memory before Read Ahead Allowed:
This is the
amount of sequential data that must be read in order to trigger the read-ahead
cache above. The default value, 24, (using the same stripe value as above
128KB), means that the client must request 3MB of sequential data in order to
activate the cache. Setting this value too low would force the array to re-cache
over and over as fragmented files occur. Setting it too high might force it not to
cache something that otherwise would benefit the client.
Maximum Read Ahead Commands Outstanding:
While the array will
appear to be sending and receiving data, the client is also sending commands
to the array to tell it to read or write data. The client, for example, might send a
request to the array to send back (read) 1MB of data, however before the
array has finished, the client might send a request to the array to send back
another 1MB. This is happening anywhere up to millions of times per second.
This setting controls how many of those commands will be buffered at a time.
The default value of 8 is good for most cases. Setting the number too low may
result in jerky playback - i.e. the computer sends a request, the array sends
back the data, then waits for the next request. Setting it too high would just
waste memory.
Number of Stripes in Each Read Ahead Request:
This can control the size
of each request. The default value is 8 (x 128KB) which is 1MB. This keeps
the data coming from the array at a consistent rate - i.e. if the requests from
the client where not limited, the requests might be uneven, possibly
interrupting playback for other clients.
Enable Random Reads:
The array is capable of applying the read-ahead
cache to non-sequential sectors/stripes. The default value enables this. If it is
disabled, the read-ahead will only apply to sequential reads where the
sectors/stripes themselves are sequential.
Cache Flush Percentage Threshold (0-100):
This controls how often when
writing, that the cache should write its contents to disk and empty itself. The
default value is 10 (%), which means that when the cache is at least 10% full,
it should empty. The cache size which was chosen when the RAID was
created has a direct bearing on this setting. For example, if you used a cache
size of 3GB, and this value is set to 10, then the write cache will flush when it
is roughly 300MB full. The default number is fine in most cases. If you set the
number too low, you will disable the effectiveness of the write cache, as it will