On Sat, Apr 18, 2009 at 06:06:49PM -0700, Richard Elling wrote:
> [CC'ed to perf-discuss]
> 
> Gary Mills wrote:
> >We have an IMAP server with ZFS for mailbox storage that has recently
> >become extremely slow on most weekday mornings and afternoons.  When
> >one of these incidents happens, the number of processes increases, the
> >load average increases, but ZFS I/O bandwidth decreases.  Users notice
> >very slow response to IMAP requests.  On the server, even `ps' becomes
> >slow.
> 
> If memory is being stolen from the ARC, then the consumer must be outside
> of ZFS.  I think this is a case for a traditional performance assessment.

It was being stolen from the ARC, but once we added memory, that was
no longer the case.  ZFS is still one of the suspects.

> >The server is a T2000 running Solaris 10.  It's a Cyrus murder back-
> >end, essentially only an IMAP server.  We did recently upgrade the
> >front-end, from a 4-CPU SPARC box to a 16-core Intel box with more
> >memory, also running Solaris 10.  The front-end runs sendmail and
> >proxies IMAP and POP connections to the back-end, and also forwards
> >SMTP for local deliveries to the back-end, using LMTP.
> >
> >Cyrus runs thousands of `imapd' processes, with many `pop3d', and
> >`lmtpd' processes as well.  This should be an ideal workload for a
> >Niagara box.  All of these memory-map several moderate-sized
> >databases, both Berkeley DB and skiplist types, and occasionally
> >update those databases.  Our EMC Networker client also often runs
> >during the day, doing backups.  All of the IMAP mailboxes reside on
> >six ZFS filesystems, using a single 2-TB pool.  It's only 51% occupied
> >at the moment.
> >
> >Many other layers are involved in this server.  We use scsi_vhci for
> >redundant I/O paths and Sun's Iscsi initiator to connect to the
> >storage on our Netapp filer.  The kernel plays a part as well.  How
> >do we determine which layer is responsible for the slow performance?
> 
> prstat is your friend.  Find out who is consuming the resources and work
> from there.

What resources are visible with prstat, other than CPU and memory?
Even at the busiest times, all of the processes only add up to about
6% of the CPU.  The load average does rise alarmingly.  Nothing is using
large amounts of memory, although with thousands of processes, it would
add up.

> I've found that it often makes sense to create processor sets and segregate
> dissimilar apps into different processor sets. mpstat can then clearly show
> how each processor set consumes its processors.  IMAP workloads can
> be very tricky, because of the sort of I/O generated and because IMAP
> allows searching to be done on the server, rather than the client (eg POP)

What would I look for with mpstat?

-- 
-Gary Mills-    -Unix Support-    -U of M Academic Computing and Networking-
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to