[OpenIndiana-discuss] ZFS pool slow as molasses

Thorsten Heit thorsten.heit at vkb.de
Thu Oct 7 08:57:19 UTC 2010


Hi,

> On Wed, Oct 6, 2010 at 10:14 AM, Brett Dikeman <brett.dikeman at gmail.com> 
wrote:
> > I'll have more to report in about a week, hopefully good news.  Is
> > there a way to measure the size of the lookup table?
> 
> Answered my own question again, I think:
> 
> # zdb -DD data
> 
> DDT-sha256-zap-duplicate: 693 entries, size 994 on disk, 839 in core
> DDT-sha256-zap-unique: 10712002 entries, size 354 on disk, 186 in core

So far I didn't know about zdb, so I tried out the above command on one of 
my pools with which I sometimes have, well, some minor problems:

The pool is a raidz1 with 3x500GB discs on which I once had dedup enabled. 
On each disc case there's a green light on the front indicating I/O. Since 
a couple of weeks sometimes an application hangs for a random amount of 
seconds. Not always the same app, but quite different. One time it is 
Eclipse, then it's Thunderbird, Firefox, a command entered in Gnome 
Terminal etc. The corresponding window is darkened in case of a hang, and 
at the same time you can see the pools disc case lights blinking, i.e. 
I/O.

I've read in the OpenSolaris forums that b134 (which I was running) has 
some issues with dedup. Therefore I turned dedup off, moved the datasets 
on that pool to a different location, destroyed them on the original 
location, and then finally moved them back to (hopefully) get rid of 
dedup'ed data blocks. Well, at least "zpool list" now shows a dedup ratio 
of 1.00.

After entering the above command, the output looks a bit strange to me:


thorsten at opensolaris:~$ pfexec zdb -DD daten
DDT-sha256-zap-unique: 5 entries, size 123986329 on disk, 118375219 in 
core

DDT histogram (aggregated over all DDTs):

bucket              allocated                       referenced 
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
     1        5      5K      5K   6.66K        5      5K      5K   6.66K
 Total        5      5K      5K   6.66K        5      5K      5K   6.66K

dedup = 1.00, compress = 1.00, copies = 1.33, dedup * compress / copies = 
0.75

thorsten at opensolaris:~$ 


What does this mean? Is there an error somewhere in the pool? If yes, how 
can I find out where and how to get rid of it?
How can I find out if there's still some dedup'ed data somewhere?


Regards

Thorsten



More information about the OpenIndiana-discuss mailing list