 |
 |
| Oracle Tips: |
|
SCSI tuning under Linux
Under Linux, the SCSI interface is tuned either by specifying parameters in the boot command of the Grub or Lilo boot file or by specifying options in the /etc/modules.conf file. Let's look at examples of both of these. The relative performance of the interface can be measured in Linux using the hdparm command with the -Tt option. Note that the IEEE1394 interface is treated as a SCSI interface in Linux. The following examples are for tuning the generic SBP2 interface, but the techniques can also be supplied to specific SCSI drivers.
First, let's look at the current settings for the interface. You get those by looking under the LUN number in the /proc/scsi/sbp2 directory. This example used LUN 0.
Now we run a timing test to determine the average speed for the interface as-is (run this several times and average the results):
Now we will set the values for the SBP2 options in the /etc/modules.conf file. We are doubling the outstanding commands to 16 and increasing the commands per LUN to 2:
Now we reboot so the settings will take effect, then re-check our settings in /proc/scsi/sbp2/0:
Our settings have been modified, now let's re-run the timing test:
From a simple modification, we improved SCSI speed for this device by 11.25/9.33*100= 120.6 percent. Overall, a 20% speed improvement. Subsequently we doubled, quadrupled and eventu
To continue reading for free, register below or login
To read more you must become a member of SearchOracle.com
');
// -->

ally got to a setting of 255 for the maximum outstanding commands, the performance peaked at 11.25 MB/sec with 16 as a setting. If the servers being tuned are in a cluster, all of them should have the same settings.
Tuning SCSI under Unix
SCSI tuning under Unix is dependent on the version of Unix involved and the SCSI card or mother board interface being tuned. Let's look at Sun.
On any system, Sun included, the system bus has a fixed bandwidth. If there are too many devices on the bus this will result in more traffic than the bus can handle, which then results in contention and packet loss.
In the Sun Solaris operating system, the prtdiag -v command is used to report on the system bus configuration. By adding up the reported capacities of the devices on the bus reported by prtdiag –v, and seeing if they exceed the capacity of the bus, it is possible to see if the bus is overloaded.
Whenever possible, similar cards should be placed on the same board so the interrupts are directed to the same CPU (and associated caches).
Table 3-1 shows some typical Sun system bus capacities:
[TABLE]
Figure 3-1: Typical Bus Capacities
Click to buy the book, "Oracle disk I/O tuning," by Mike Ault.
About the author
Mike Ault is a SearchOracle.com expert and a senior Oracle consultant with Burleson Consulting, and one of the leading names in Oracle technology. The author of more than 20 Oracle books and hundreds of articles in national publications, Mike Ault has five Oracle Masters Certificates and was the first popular Oracle author with his landmark book "Oracle7 administration and management." Mike also wrote several of the "Exam Cram" books, and enjoys a reputation as a leading author and Oracle consultant. Ask Mike a question today!

|