summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2012-10-22 19:19:50 -0400
committerAnand Avati <avati@redhat.com>2012-11-21 13:49:47 -0800
commitd8fbd9ec2a674c5bfa80d975dfb328674053f82f (patch)
tree333ebe74acd50d0b305f21f5b0fcc78cc09f5210 /xlators/mgmt/glusterd/src
parent2e40e0f42807f23d447d7fae67c1e2f834904c53 (diff)
perf/io-threads: least-rate-limit least priority throttling
The 'least-rate-limit' io-threads translator option enables throttling of least priority operations. This is initially intended as a debug/diagnostic tool for users who might experience overloaded servers via background activity (i.e., self-heal). least-rate-limit defines the maximum number of least priority operations the io-threads translator will dequeue in one second. If the specified rate limit is met, the worker threads sleep for the minimal amount of time before the next least priority operation becomes available (or until a new request arrives). The requests/second metric is generic and relative to a variety of factors involved with a background operation (server, storage, etc.). The most recent measured rate ("cached least rate") is added to the io-threads state dump content (kill -USR1) to serve as a reference point to throttle background activity under particular conditions. Change-Id: I80f2282992137d57b1becaa5c6ae3858c066862a BUG: 853680 Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-on: http://review.gluster.org/4119 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index a8c71e29c4c..6f7b3034cbf 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -158,6 +158,7 @@ static struct volopt_map_entry glusterd_volopt_map[] = {
{"performance.low-prio-threads", "performance/io-threads", NULL, NULL, DOC, 0, 1},
{"performance.least-prio-threads", "performance/io-threads", NULL, NULL, DOC, 0, 1},
{"performance.enable-least-priority", "performance/io-threads", NULL, NULL, DOC, 0, 2},
+ {"performance.least-rate-limit", "performance/io-threads", NULL, NULL, DOC, 0, 1},
/* Other perf xlators' options */
{"performance.cache-size", "performance/quick-read", NULL, NULL, NO_DOC, 0, 1},