[OmniOS-discuss] zpool Write Bottlenecks
Bob Friesenhahn
bfriesen at simple.dallas.tx.us
Fri Sep 30 13:36:02 UTC 2016
On Thu, 29 Sep 2016, Michael Talbott wrote:
> I'm very aware that dd is not the best tool for measuring disk
> performance in most cases. And I know the read throughput number is
> way off b/c of zfs caching mechanisms. However it does work in this
> case to illustrate the point in my case of a write throttle
> somewhere in the system. If anyone needs me to test with some other
I think that Dale is correct that your benchmark may be only
benchmarking 'dd'. The performance of single-threaded 'dd' will be
entirely driven by read performance of /dev/zero followed by write
latency per operation on writes. In your case, the issue is almost
certainly that the write latency is a fixed value (regardless of the
number of disks) and so there is a fixed maximum write rate regardless
of the performance of the underlying store.
If you were to run two 'dd's in parallel, you may see an increase in
the write rate. This is the first thing to try.
With zfs, a "write" goes into a buffer associated with a transaction
group (TXG) which is written to disk based on a maximum elapsed time,
or the maximum size of the TXG being hit. The maximum size of the TXG
is estimated based on the available total RAM and zfs's guess as to
the time to write the TXG (based on throughput), as well as tunables.
For a brief time, the writer proces will not be able to write any data
at all as the current TXG is finished (resulting in writes) and a new
one is started.
At the lowest level, the TXG can not be completed until all involved
disks have written their data and completed a cache sync operation.
The latency of the cache sync is driven by the latency of the slowest
disk drive (+HBA) involved. Getting rid of any disks which exhibit
abnormally high latency would help with the transaction times.
Bob
--
Bob Friesenhahn
bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
More information about the OmniOS-discuss
mailing list