The Emulex fiber channel device driver supports a max-xfer-size tunable (via /kernel/drv/emlxs.conf) which only applies to i386. This tunable specifies the scatter gather list buffer size. By default, this value is set to 339968 for Solaris 10.

Today I experimented with doubling this value to 688128 and was happy to see a large increase in sequential read performance from my ZFS pool which is based on six mirrors vdevs. Sequential read performance jumped from 552787 MB/s to 799626 MB/s. It seems that the default driver buffer size interfers with zfs's ability to double the read performance by balancing the reads from the mirror devices. Now the read performance is almost 2X the write performance.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to