i have investigated some time to look at the performance of Solaris with Oracle on it. Here is some information that might be relevant.
maxcontig:
definition: maximum contiguous i/o size
- check:
(input) # fstype -v /dev/dsk/c0t0d0s0 | grep maxcontig
(output) maxcontig 128 rotdelay 0ms rps 167
- default:
(output) maxcontig 128 rotdelay 0ms rps 167
- change:
for existing filesystem:
(input) # tunefs -a 256 /dev/dsk/c0t0d0s0
for new filesystems:
(input) # newfs -C 256 /dev/rdsk/c0t0d0s0
maxphys:
definition: largest physical i/o operation allowed
- check:
(input) # adb -k
(input) maxphys/D
(output) maxphys: 131072
- default:
(output) maxphys: 131072
- change:
add or change in /etc/systems and reboot
(input) set maxphys 1048576
when using a metadevices, also set this one same value as "set maxphys value".
(input) set md:md_maxphys 1048576
directio:
definition: ufs feature to bypass the buffer-chache
- check:
(input) # mount | grep directio
- default:
not enabled.
- change:
change options in /etc/vfstab and reboot:
(input) /dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no logging
directio
or manually mount the filesystem:
(input) mount -o directio /dev/md/dsk/d0 /
tcp_time_wait_interval
definition: the time in milliseconds a tcp connection stays in time_wait state
- check:
(input) # ndd /dev/tcp tcp_time_wait_interval
(output) 240000
- default on solaris 8 systems:
(output) 240000
default on solaris 9 systems:
(output) 60000
- change:
(input) # ndd /dev/tcp -set tcp_time_wait_interval 60000\r\n