In testing with large vnodes (> 1TB/vnode) it was found that a single AAE tree build could consume more than 200MB/s of disk IO. A single hash tree exchange could generate up to 800MB/s of network IO. Tree builds typically took 45 minutes to 2.5 hours to complete. It is unclear how long each tree exchange took to complete. When under load, the impact of AAE was to reduce cluster throughput by roughly 33%.
Two solutions are suggested:
Short term solution - provide the ability for the administrator to define windows during which AAE builds and exchanges are allowed to run, similar to Bitcask merge windows. This would allow the administrator to constrain the impact of AAE (other than async tree writes) to off-peak periods.
Long term solution - provide the ability for the administrator to cap AAE builds and exchanges to specific disk and network IO limits.
In testing with large vnodes (> 1TB/vnode) it was found that a single AAE tree build could consume more than 200MB/s of disk IO. A single hash tree exchange could generate up to 800MB/s of network IO. Tree builds typically took 45 minutes to 2.5 hours to complete. It is unclear how long each tree exchange took to complete. When under load, the impact of AAE was to reduce cluster throughput by roughly 33%.
Two solutions are suggested:
Reference:
Basho Bench log showing AAE on vs AAE off: https://gist.github.com/deanproctor/641ca8797b4ffd4eac90
Cluster specs:
Node specs: