[PATCH v2 0/8] vinyl: improve stats for throttling
Vladimir Davydov
vdavydov.dev at gmail.com
Sun Sep 16 20:06:43 MSK 2018
This patch set adds some essential global disk statistics necessary for
transaction throttling, namely size of data stored on disk, written by
dump and compaction threads, awaiting compaction. This is probably not
enough for implementing throttling, but that should be a good start.
https://github.com/tarantool/tarantool/issues/1862
https://github.com/tarantool/tarantool/commits/dv/vy-stats-for-throttling
Changes in v2:
- Remove controversial disk idle ratio and compaction debt metrics,
because they still need to be elaborated.
- Rework the way global disk statistics are reported.
- Remove the patches that have been merged, rebase on the latest 1.10,
and refactor the code slightly.
v1: https://www.freelists.org/post/tarantool-patches/PATCH-07-vinyl-improve-stats-for-throttling
Vladimir Davydov (8):
vinyl: fix force compaction logic
vinyl: update compact priority usual way on range split/coalesce
vinyl: annotate info_table_end with comment
vinyl: report pages and bytes_compressed in dump/compact in/out stats
vinyl: add helpers for resetting statement counters
vinyl: keep track of compaction queue length
vinyl: factor out helpers for accounting dump/compaction
vinyl: add global disk stats
src/box/vinyl.c | 111 +++++++++++++++++++++++++++++--------------
src/box/vy_lsm.c | 95 ++++++++++++++++++++++++++++++-------
src/box/vy_lsm.h | 34 +++++++++++++-
src/box/vy_range.c | 27 +++++------
src/box/vy_range.h | 10 ++--
src/box/vy_scheduler.c | 40 +++++++++-------
src/box/vy_stat.h | 62 +++++++++++++++++++-----
src/errinj.h | 1 +
test/box/errinj.result | 4 +-
test/vinyl/errinj.result | 114 +++++++++++++++++++++++++++++++++++++++++++++
test/vinyl/errinj.test.lua | 32 +++++++++++++
test/vinyl/info.result | 111 ++++++++++++++++++++++++++++++++++++++++---
test/vinyl/info.test.lua | 14 ++++++
13 files changed, 544 insertions(+), 111 deletions(-)
--
2.11.0
More information about the Tarantool-patches
mailing list