One of the major performance bottlenecks in the system is input and output (I/O) to the hard disk. For high-channel count applications, the application should be structured so that it presents the disk I/O subsystem with a manageable load.
The file system type chosen by default for the talkfiles (/home2/vfs by default) is the 8K Veritas file system. One of the principle performance advantages to using this file system is that it uses very large block sizes.
Note:
This advantage is traded off against space efficiency: if a file uses any portion of a block, the entire block is allocated. For example, if there is a 9K file, two 8K blocks are allocated for it. The remaining 7K bytes are "wasted.''
If you do not use the default speech file system, you should be careful to make sure that the file system type is appropriate. Otherwise, disk throughput suffers.
A single disk is capable of a finite amount of throughput. You can measure the throughput on a disk with the sar -d command as shown in the following example:
bop13# sar -d 5 5
bop13 bop13 4.2 1.1.2 i486 11/27/96
16:13:55 device %busy avque r+w/s blks/s avwait avserv
16:14:00 dsk-0 8 0.1 9 69 1.4 9.5
16:14:05 dsk-0 3 0.3 2 34 4.0 14.0
As the load on the disk rises, the percent busy (%busy) figure rises. As the disk gets busier, the average time to service (avserv) a request increases. Eventually, the disk is presented with more work than it can do and disk read and write requests take a long time to complete. For applications that have high I/O requirements (all 96 channel configurations qualify here), a second disk is necessary and you must ensure that your application balances requests between disks. The following methods may be used to balance the load between disks:
Note:
Before you rely on NFS, you should make sure that you understand the performance and reliability implications.
Performance via NFS is complicated because there will be multiple machines making requests of a NFS server. The variability of the load requested by all of the clients of a given file server may be high. In order to service all of the requests in a reasonable time, you must ensure that both the server and the network are sized to handle the load. This sizing is highly application dependent.
If you build an application that uses an NFS server, you should make sure that you have a configuration that delivers the kind of reliability that is appropriate for your application. You should experiment with NFS to make sure that behaviors like server or network crashes will not affect you or your customer's perception of reliability.