S10x86 vs Linux
Hi-
We have S10x86 01/06 on aV40z system, and Red Hat Linux 2.6.9.11 on a V20z system.
Both are using Qlogic 2462 hbas (Sun branded). The Solaris system is patched to June 06 EIS level, the Linux system has the latest Qlogic driver from Qlogic (8.01.04-3).
We hook a single path from each server to a DDN RAID array, and run a simple dd test on each os (dd if=/dev/zero of=/dev/<disk> bs=4096).
On the Solaris box we see write rates of ~11 MB/sec, on the Linux box we get ~125 MB/sec. Any ideas about the disparity?
Thanks!
[566 byte] By [
domburns] at [2007-11-26 9:46:35]

# 1
dd is a horrible tool for checking disk bandwidth. I'm not saying there isn't an issue here but I'd use something like bonnie++ or vxbench to get a better test of i/o throughput. Or if you plan on using a filesystem use filebench. They're all available on the net.
dd - at least on Solaris - is a single threaded tool that doesn't exercise the drive. If you really need to use dd try firing off ten of them at the same time and see what aggregate numbers you get.
# 2
I understand the limitation of using dd as a benchmark, but any ideas why there would be a 10x difference between Solaris and Linux? Is it multi threaded in Linux? I will throw multiple threads out on both systems, but not sure if this will fully help. We do see better through put with larger block sizes, but there still is a disparity between the OS'.
Thanks
# 4
The Solaris vs. Linux filesystem performace argument seems to go on forever! Will it ever end? UFS default configuration, even with logging turned on will perform slower than Linux ext3 fs. UFS performance can be improved somewhat from default. UFS will maintain much better data integrity after a system crash where Linux ext2/3 fs will not. I would not use dd for anything, not even a small backup, you can destroy all data on a disk with it. Furthermore it does not emulate any application I/O profile, the previously mentioned tools can be used to generate a realistic application I/O load. Tell us more about what your intentions are for the system and I'll try to help you with some performance related information.
# 5
Thanks for the offer of help. We were using dd strictly to the raw devices, no fs involved at that point. We had noticed that changing the block size on Solaris improved throughput, but had no effect on the linux side. We are using qfs for the filesystem, and have engaged Sun and the array vendor to work the issue. We are having better luck with the logical-block mpxio setting, and doing some tuning at the array and fs levels. Thanks again.
# 7
Linux turns on the disk cache by default, while Solaris does not. Therefore if a system crash happens, Linux has a big chance of having a corrupt filesystem, while Solaris will have a filesystem that's ok. On Solaris you can turn on the cache by using format -e. However, this is not a supported option, unless you are using ZFS.