On 06/26/2011 06:17 PM, Richard Elling wrote:
> 
> On Jun 24, 2011, at 5:29 AM, Sašo Kiselkov wrote:
> 
>> Hi All,
>>
>> I'd like to ask about whether there is a method to enforce a certain txg
>> commit frequency on ZFS. I'm doing a large amount of video streaming
>> from a storage pool while also slowly continuously writing a constant
>> volume of data to it (using a normal file descriptor, *not* in O_SYNC).
>> When reading volume goes over a certain threshold (and average pool load
>> over ~50%), ZFS thinks it's running out of steam on the storage pool and
>> starts committing transactions more often which results in even greater
>> load on the pool. This leads to a sudden spike in I/O utilization on the
>> pool in roughly the following method:
>>
>> # streaming clients          pool load [%]
>>      15                          8%
>>      20                         11%
>>      40                         22%
>>      60                         33%
>>      80                         44%
>> --- around here txg timeouts start to shorten ---
>>      85                         60%
>>        90                       70%
>>      95                         85%
> 
> What is a "pool load"? We expect 100% utilization during the txg commit,
> anything else is a waste.
> 
> I suspect that you actually want more, smaller commits to spread the load
> more evenly. This is easy to change, but unless you can tell us what OS
> you are running, including version, we don't have a foundation to build upon.
>  -- richard

Pool load is a 60 seconds average of the aggregated util percentages as
reported by "iostat -D" for the disks which comprise the pool (So I run
"iostat -Dn {pool-disks} 60" and compute the load for each row printed
as an average of the "util" columns). Interestingly enough, when
watching 1-second updates in iostat I never see "util" hit 100% during a
txg commit, even if it takes two or more seconds to complete. This tells
me that the disks still have enough performance headroom so that zfs
doesn't really need to shorten the interval at which commits occur.

I'm running oi_148, and all pools are zfs version 28.

Regards,
--
Saso
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to