I have recently started having this VERY unwanted problem where read speed drops to zero and I simply have to wait for the requested data.
This leads to a complete stop in playback/work when watching a video or editing in Final Cut Pro for example... I can get a spinning beach ball and then it just picks up when data comes from the pool again.
I'm not sure if it started with the update to El Capitan 10.11.6 but that's what I'm running now.
It's a 6-core 4 GHz Xeon with 24 GB of RAM (not ECC) and to my knowledge I never had any performance problems that where caused by hardware.
The pool is a 6 drive Raidz2 made from 3 TB Seagate Barracudas.
At one point I had some jerky mouse/UI so I built from source to get the larger memory chunks allocated by ZFS, 512 instead of 128.
Arc max is at 8 GB and Arc meta limit is at 6 GB.
I will post some screen shots to illustrate my problem and the severity of it.
This is how it behave when there is no read stop, scrubbing the pool at speeds of almost 300 MB to almost 700 MB per second:
This shows the very irregular read speeds:
Coming to a complete stop:
And then picking it up again after about 40 seconds:
(the stoppage isn't always this long)
Any help or ideas would be greatly appreciated.