This blog entry was triggered by Neelakanth's on MySQL InnoDB ZFS Best Practices post.

There's always a running debate about "best practices" and I know several people that say, "there are no *best* practices, only good or better practices".

So what are some of the settings for the Sun Messaging product and ZFS?
Han Shum has a post on the Comms Wiki for Configuration Recommendations for ZFS and Messaging Server
It covers the following including instructions:
  • Separate the mailstore mailbox partitions (data) from the database files (indices)
  • Match ZFS recordsize with page size (8 kb for mbox database, 4 kb for database index files and default of 128k for the actual message store file system)
  • Disable File Access Time record
  • Stay below 80% space utilization

Going beyond those things and considering what Neelakanth wrote, the following things are worth investigating at your own risk*:

  • Use a Seperate ZFS Intent Log (slog) - Messaging is definitely write intensive and we've seen some improvements by moving the Intent Log off onto separate drives
  • Make sure the ZFS Adaptive replacement cache (ARC) is enabled
  • Make sure that the ZFS prefetch is enabled
  • Consider using an SSD as L2ARC, SLOG or for the messaging database files / indices
  • Determine if your storage is ZFS Write Cache friendly or not -- some storage devices / systems that have NVRAM interpret ZFS's command to flush the write cache in different and un-performance friendly ways. If your storage device has battery backed caches, consider turning off the ZFS cache flush


* There's no good substitution for doing this on a non-production environment that's configured with the same OS levels and patches as production!
Comments:

Post a Comment:
Comments are closed for this entry.

This blog copyright 2009 by Dave Pickens