summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorClay Gerrard <clay.gerrard@gmail.com>2021-12-07 17:19:54 -0600
committerTim Burke <tim.burke@gmail.com>2022-01-06 12:47:09 -0800
commitde888629817a2a326b6e8dc66edb0ce3168818a7 (patch)
treea5e97452ab2ea056d7f09764606b8c85b2f6d7e1 /etc
parent1859f2e161f396023d8328489fb4b88c303797a9 (diff)
downloadswift-de888629817a2a326b6e8dc66edb0ce3168818a7.tar.gz
Finer grained ratelimit for update
Throw our stream of async_pendings through a hash ring; if the virtual bucket gets hot just start leaving the updates on the floor and move on. It's off by default; and if you use it you're probably going to leave a bunch of async updates pointed at a small set of containers in the queue for the next sweep every sweep (so maybe turn it off at some point) Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Change-Id: Idef25cd6026b02c1b5c10a9816c8c6cbe505e7ed
Diffstat (limited to 'etc')
-rw-r--r--etc/object-server.conf-sample10
1 files changed, 10 insertions, 0 deletions
diff --git a/etc/object-server.conf-sample b/etc/object-server.conf-sample
index e9557b6c2..5329bca8f 100644
--- a/etc/object-server.conf-sample
+++ b/etc/object-server.conf-sample
@@ -473,6 +473,16 @@ use = egg:swift#recon
# Send at most this many object updates per second
# objects_per_second = 50
#
+# Send at most this many object updates per bucket per second. The value must
+# be a float greater than or equal to 0. Set to 0 for unlimited.
+# max_objects_per_container_per_second = 0
+#
+# The per_container ratelimit implementation uses a hashring to constrain
+# memory requirements. Orders of magnitude more buckets will use (nominally)
+# more memory, but will ratelimit smaller groups of containers. The value must
+# be an integer greater than 0.
+# per_container_ratelimit_buckets = 1000
+#
# slowdown will sleep that amount between objects. Deprecated; use
# objects_per_second instead.
# slowdown = 0.01