Re: [zfs-discuss] set zfs:zfs_vdev_max_pending

2010-01-12 Thread Richard Elling
On Jan 12, 2010, at 2:54 PM, Ed Spencer wrote:

> We have a zpool made of 4 512g iscsi luns located on a network appliance.
> We are seeing poor read performance from the zfs pool. 
> The release of solaris we are using is:
> Solaris 10 10/09 s10s_u8wos_08a SPARC
> 
> The server itself is a T2000
> 
> I was wondering how we can tell if the zfs_vdev_max_pending setting is 
> impeding read performance of the zfs pool? (The pool consists of lots of 
> small files).

zfs_vdev_max_pending is the queue depth for each vdev. ZFS will issue
up to 35 I/Os to the vdev [1]. You can check the average queue depth by
observing the number of entries in the actv and wait queues in iostat.
If the actv+wait << 35, then don't worry about it.

[1] changed in b127 to 4-10 with an adjusting algorithm.

> And if it is impeding read performance, how do we go about finding a new 
> value for this parameter?

This can be changed on the fly, so it is reasonable to experiment.

> 
> Of course I may misunderstand this parameter entirely and would be quite 
> happy for an proper explanation!

This is rarely the cause of slow response for fast devices, such as
NetApp servers.
 -- richard



___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] set zfs:zfs_vdev_max_pending

2010-01-12 Thread Robert Milkowski

On 12/01/2010 23:47, Bob Friesenhahn wrote:

On Tue, 12 Jan 2010, Ed Spencer wrote:


I was wondering how we can tell if the zfs_vdev_max_pending setting 
is impeding read performance of the zfs pool? (The pool consists of 
lots of small files).


If 'iostat -x' shows that svc_t is quite high, then reducing 
zfs_vdev_max_pending might help.  The parameter can be adjusted using 
the kernel debugger in real time (no reboot or remount) as described 
on the zfs tuning page.




Only if actv is close to zfs_vdev_max_pending per each LUN. If it is 
close to 0 then changing the vdev_max_pending parameter wouldn't do much 
difference.


--
Robert Milkowski
http://milek.blogspot.com



___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] set zfs:zfs_vdev_max_pending

2010-01-12 Thread Bob Friesenhahn

On Tue, 12 Jan 2010, Ed Spencer wrote:


I was wondering how we can tell if the zfs_vdev_max_pending setting 
is impeding read performance of the zfs pool? (The pool consists of 
lots of small files).


If 'iostat -x' shows that svc_t is quite high, then reducing 
zfs_vdev_max_pending might help.  The parameter can be adjusted using 
the kernel debugger in real time (no reboot or remount) as described 
on the zfs tuning page.


And if it is impeding read performance, how do we go about finding a 
new value for this parameter?


I am told that the objective is to get svc_t down to reasonable levels 
(< 64ms or maybe < 32ms) when the system is under load.


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