White Papers Why File Servers Need Multiple Disk Drives In a client-server network computing environment, a file server delivering data to clients typically needs multiple disk drives. This article explains the technical background of why a multi-tasking disk drive adapter is important to file servers. The myth of file server performance Measuring file server performance is still an art form for the personal computer (PC) industry. Most client-server benchmarks measure file server performance by measuring disk adapter data transfer rate in units of kilo-bytes per second. Such measurement leads the file server users to believe that a disk drive with four megabytes per second of data rate should be sufficient for an ethernet network at ten megabytes per second which equals 1.25 megabits per second. Yet, most users realize that a file server needs multiple disk drives to provide faster response to network clients. Instead of using IDE disk drives, they buy more powerful SCSI adapters and disk drives. On the other hand, they have a hard time differentiating the performance of one SCSI adapter from another. Whether a disk adapter needs cache has always been a debate even among the most seasoned client-server professionals. 1.A network I/O request is more than just transferring data 2.In the client-server network using Network File System (NFS) protocols from SunMicrosystems, the I/O requests are: getattr -- get file attribute setattr -- set file attribute readdir -- read file directory rename -- rename a file lookup -- look up file directory readlink -- read file symbolic link create -- create a new file remove -- remove a old file read -- read an 8K file data block write -- write and 8K file data block others Except for read and write, most requests send only a few bytes, less than 64, of data across the network. In fact, the percentage of read and write requests for most applications is less than 30% of the total. While the mix of requests varies with applications, it is not uncommon to see that more than 50% of network requests are getattr and setattr which transfer only 64 bytes of request and even less in replies. It is not unusual to see a fully loaded ethernet servicing over 300 NFS requests per second. 3.Relation between network requests and disk I/O Most file servers cache the file attribute and directory data -- also known as file system meta data. However, the greater number of clients, the greater need to go to disk drives. A file server with enough cache has the ratio of 0.5 between network requests to disk I/Os, or 150 disk I/Os per second to 300 network requests per second. On the other hand, on a busy network with many clients, the ratio goes up twofold, or 600 disk I/Os to 300 network requests. When a disk drive is only capable of delivering 100 I/Os per second, a file server needs six disk drives for 600 disk I/Os. Not surprisingly, many file servers have large amounts of memory as cache to compensate this need for more disk drives. One should not confuse the file server cache from the PC processor cache or the disk adapter cache. The former is the amount of memory in a file server. There is no evidence that the latter two improve the file server performance. 4.Multi-tasking disk drive adapter To get 600 disk I/Os per second in a file server, its disk drive adapter must be capable of starting I/O requests on multiple disk drives in order to generate concurrent disk I/Os. The mainframe computer designer offering up to 128 I/O channels in one computer truly understands the art of concurrent I/Os. The ABP930 SCSI disk adapter offered by Advanced System Products, Inc. offers high I/O performance without the high cost of mainframe by processing up to 255 I/O requests at a time. The adapter will saturate the SCSI bus by selecting one of the 255 requests and sending it to a disk drive whenever the SCSI bus becomes free. A disk drive spends 90% of the time moving its disk arm and waiting for the multiple disk drives because each of them uses only a fraction of the SCSI bus bandwidth to transmit data. This is not true for IDE disk drives. To select a true high-performance multi-tasking disk adapter, the user should know how many I/Os per second the adapter is capable of delivering instead of just how many megabytes of data per second are being transferred. Most adapters can transfer data as fast as the SCSI disk drive and system bus allow. In fact, most low-performance PIO adapter manufactures will advertise their adapter data transfer speed in order to confuse a user in thinking that bus master high-end adapters are not necessary. While disk adapter data transfer speeds are important for a file server, the multi-tasking function is much more important because there is no way to get 600 disk operations from a single disk drive efficiently without it. 5.Conclusion In the last ten years, both the PC processor speed and the storage device capacity have been improved by two orders of magnitude. But 80% of PCs today are still using a data transfer protocol, IDE, defined ten years ago. The remaining 20% use a higher performance protocol, SCSI. However, the majority of SCSI host adapters are still only capable of single-tasking and their manufacturers differentiate the products using data transfer speeds. Consequently, the performance of PC disk adapters has not changed greatly in the last ten years. In a client-server computing environment, the disk adapter performance should be measured by the number of I/Os. A true multi-tasking adapter can improve the I/O performance 600% by running seven SCSI disk drives concurrently.