Van: void <[email protected]>
Datum: vrijdag, 27 oktober 2023 14:51
Aan: [email protected]
Onderwerp: Re: periodic daily takes a very long time to run (14-stable)

On Fri, Oct 27, 2023 at 01:45:24PM +0200, Ronald Klop wrote:

>Can you run "gstat" or "iostat -x -d 1" to see how busy your disk is? >And how 
much bandwidth is uses.

when periodic is *not* running, gstat numbers fluctuate between whats indicated 
below and all zeros:

dT: 1.011s  w: 1.000s
  L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
     0     69      0      0    0.0     67    732    0.6   24.3| da0
     0      0      0      0    0.0      0      0    0.0    0.0| da0p1
     0      0      0      0    0.0      0      0    0.0    0.0| da0p2
     0     69      0      0    0.0     67    732    0.6   24.3| da0p3
     0      0      0      0    0.0      0      0    0.0    0.0| da0p2.eli
     0     69      0      0    0.0     67    732    0.8   24.4| da0p3.eli

# iostat -x -d 1
extended device statistics device r/s w/s kr/s kw/s ms/r ms/w ms/o ms/t qlen %b da0 15 18 189.4 565.1 47 7 144 27 0 23 pass0 0 0 0.0 0.0 54 0 154 79 0 0 extended device statistics device r/s w/s kr/s kw/s ms/r ms/w ms/o ms/t qlen %b da0 3 70 172.6 698.0 26 1 129 5 0 33 pass0 0 0 0.0 0.0 0 0 0 0 0 0 extended device statistics device r/s w/s kr/s kw/s ms/r ms/w ms/o ms/t qlen %b da0 0 0 0.0 0.0 0 0 0 0 0 0 pass0 0 0 0.0 0.0 0 0 0 0 0 0
(then all 0s repeatedly)

When periodic *is* running:

dT: 1.047s  w: 1.000s
  L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
     2     89     34    138   88.1     54    783   33.9   95.0| da0
     0      0      0      0    0.0      0      0    0.0    0.0| da0p1
     0      0      0      0    0.0      0      0    0.0    0.0| da0p2
     2     89     34    138   88.1     54    783   34.0   95.0| da0p3
     0      0      0      0    0.0      0      0    0.0    0.0| da0p2.eli
     2     90     35    141   86.3     54    783   34.2   96.9| da0p3.eli

the kBps number varies wildly between 100 and 1200. %busy is 92-102%

# iostat -x -d 1
extended device statistics device r/s w/s kr/s kw/s ms/r ms/w ms/o ms/t qlen %b da0 15 18 189.6 564.1 47 7 144 27 10 23 pass0 0 0 0.0 0.0 54 0 154 79 0 0
Numbers vary wildly here, too. I wonder if theres a switch for iostat that lets 
it
run for say 1000 seconds then produces an average of the values gathered.

I'll look for one
--




What stands out to me is that you do quite a lot of writes on the disk. (I 
might be mistaken.)
The max. number of IOPS for HDD is around 80 for consumer grade harddisks. I 
think this counts for USB connected disks.
https://en.wikipedia.org/wiki/IOPS#Mechanical_hard_drives
From the stats you posted it looks like you are almost always doing 50+ 
writes/second already. That does not leave much IOPS for the find process.

ZFS tries to bundle the writes every 5 seconds to leave room for the reads. See 
"sysctl vfs.zfs.txg.timeout". Unless it has too much data to write or a sync 
request comes in.
#device       r/s     w/s     kr/s     kw/s  ms/r  ms/w  ms/o  ms/t qlen  %b
$ iostat -x  -w 1 da1 | grep da1
da1            6      19     94.0    525.0    15     2   123     8    1  12
da1            0       4      0.0     15.2     0     1   122    41    0  23
da1            0       0      0.0      0.0     0     0     0     0    0   0
da1            0       2      0.0    738.7     0     4    61    23    0   7
da1            0       0      0.0      0.0     0     0     0     0    0   0
da1            0      98      0.0   2850.9     0     1     0     1    1   7
da1            0       4      0.0     16.0     0     1   139    47    0  28
da1            0       0      0.0      0.0     0     0     0     0    0   0
da1            0       0      0.0      0.0     0     0     0     0    0   0
da1            0       0      0.0      0.0     0     0     0     0    0   0
da1            0      80      0.0   2361.3     0     1     0     1    1   6
da1            0       4      0.0     15.3     0     1   125    42    0  24
Every 5th row is a spike in writes on my RPI4. "zpool iostat 1" should give a 
similar pattern.

So if my observation is right it might be interesting to find out what is 
writing. I had similar issues after the number of jails on my RPI4 increased 
and they all were doing a little bit of writing which accumulated in quite a 
lot of writing. My solution was to add an SSD.

Regards,
Ronald.

Reply via email to