<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osnexus.com/index.php?action=history&amp;feed=atom&amp;title=Bucket_Rate_Limits</id>
	<title>Bucket Rate Limits - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osnexus.com/index.php?action=history&amp;feed=atom&amp;title=Bucket_Rate_Limits"/>
	<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Bucket_Rate_Limits&amp;action=history"/>
	<updated>2026-10-03T04:15:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Bucket_Rate_Limits&amp;diff=28151&amp;oldid=prev</id>
		<title>Qadmin: New page: bucket rate limits and rate-limit policies (6.9), verified on a 6.9.0 cluster against the gateway&#039;s ratelimit settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Bucket_Rate_Limits&amp;diff=28151&amp;oldid=prev"/>
		<updated>2026-09-28T17:40:09Z</updated>

		<summary type="html">&lt;p&gt;New page: bucket rate limits and rate-limit policies (6.9), verified on a 6.9.0 cluster against the gateway&amp;#039;s ratelimit settings&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
A bucket rate limit caps how many S3 requests, and how many bytes, the object gateway serves for an Object Bucket each minute. This page covers applying limits to buckets and keeping reusable rate-limit policies.&lt;br /&gt;
&lt;br /&gt;
== How bucket rate limits work ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor sets the limits on the object gateway with the Ceph RGW rate limiter, at bucket scope. There are four limits, each counted per minute:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Limit !! Counts&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Read Operations/min&amp;#039;&amp;#039;&amp;#039; || GET requests&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Write Operations/min&amp;#039;&amp;#039;&amp;#039; || PUT requests&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Read Bandwidth/min&amp;#039;&amp;#039;&amp;#039; || Bytes read&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Write Bandwidth/min&amp;#039;&amp;#039;&amp;#039; || Bytes written&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A limit of 0 means unlimited. When all four are 0, QuantaStor turns rate limiting off for the bucket rather than leaving it on with no limits.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Each object gateway enforces the limits on its own.&amp;#039;&amp;#039;&amp;#039; A bucket served through three gateways behind a load balancer can take up to three times the configured rate in total. Divide the rate you want by the number of gateways that serve the bucket.&lt;br /&gt;
&lt;br /&gt;
A client that exceeds a limit has its requests refused by the gateway until the next minute begins.&lt;br /&gt;
&lt;br /&gt;
== Applying a rate limit to buckets ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Object Buckets &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; Object Buckets &amp;#039;&amp;#039;(toolbar group)&amp;#039;&amp;#039; &amp;amp;rarr; Apply Bucket Rate Limit}}&lt;br /&gt;
&lt;br /&gt;
[[File:objrl_apply.png|thumb|right|800px|Apply Bucket Rate Limit with the web-assets policy selected. Tick the buckets in the grid, then click OK or Apply.]]&lt;br /&gt;
&lt;br /&gt;
Select one or more buckets in the grid, then either pick a saved policy in &amp;#039;&amp;#039;&amp;#039;Policy Preset&amp;#039;&amp;#039;&amp;#039; or set the four limits directly under &amp;#039;&amp;#039;&amp;#039;Rate Limit Settings&amp;#039;&amp;#039;&amp;#039;. With a preset selected, it is the policy&amp;#039;s saved values that are applied, whatever the four fields show: changes made to the fields while a preset is selected are ignored. To apply different values, edit the policy first with &amp;#039;&amp;#039;&amp;#039;Manage Bucket Rate Policies...&amp;#039;&amp;#039;&amp;#039;, or reopen the dialog and set the fields without choosing a preset.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Default !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Ceph Cluster and bucket search || first cluster || Narrows the bucket grid to one Ceph cluster. All the buckets in one apply must be on the same cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Bucket grid || || Select one or more buckets. The grid shows each bucket&amp;#039;s current limits.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Policy Preset&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;(none)&amp;#039;&amp;#039; || A saved rate-limit policy. &amp;#039;&amp;#039;&amp;#039;Manage Bucket Rate Policies...&amp;#039;&amp;#039;&amp;#039; opens the policy manager without closing this dialog.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Read Operations/min&amp;#039;&amp;#039;&amp;#039; || 0 || GET requests per minute. The slider runs to 1000.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Write Operations/min&amp;#039;&amp;#039;&amp;#039; || 0 || PUT requests per minute. The slider runs to 1000.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Read Bandwidth/min&amp;#039;&amp;#039;&amp;#039; || 0 || Bytes read per minute, with a unit selector. The slider covers 1 to 1024 of the selected unit; type a larger value.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Write Bandwidth/min&amp;#039;&amp;#039;&amp;#039; || 0 || Bytes written per minute, as above.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The limits are copied to each bucket when you apply them. The bucket does not keep a link to the policy they came from, so changing or deleting a policy later does not change any bucket; apply it again to update them.&lt;br /&gt;
&lt;br /&gt;
To remove a bucket&amp;#039;s limits, apply all four as 0.&lt;br /&gt;
&lt;br /&gt;
Current limits are also read back from the gateway by &amp;#039;&amp;#039;&amp;#039;Rescan Object Storage Buckets&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;Deep Scan&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Enable Rate Limit Updates&amp;#039;&amp;#039;&amp;#039; selected, which picks up limits set outside QuantaStor.&lt;br /&gt;
&lt;br /&gt;
== Managing rate-limit policies ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Object Buckets &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; Object Buckets &amp;#039;&amp;#039;(toolbar group)&amp;#039;&amp;#039; &amp;amp;rarr; Manage Bucket Rate Policies}}&lt;br /&gt;
&lt;br /&gt;
[[File:objrl_manage_policy.png|thumb|right|520px|Manage Bucket Rate Limit Policy, editing the web-assets policy.]]&lt;br /&gt;
&lt;br /&gt;
A policy is a named set of the four limits, kept so the same limits can be applied to many buckets consistently. In &amp;#039;&amp;#039;&amp;#039;Policy&amp;#039;&amp;#039;&amp;#039;, choose an existing policy to edit it or &amp;#039;&amp;#039;&amp;#039;&amp;lt; Create New Policy &amp;gt;&amp;#039;&amp;#039;&amp;#039; to make one, then set its &amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039; and the four limits. &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039; saves the policy and keeps the dialog open; &amp;#039;&amp;#039;&amp;#039;Delete&amp;#039;&amp;#039;&amp;#039; removes the selected policy.&lt;br /&gt;
&lt;br /&gt;
Policy names may contain letters, digits, &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;_&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&amp;#039;. Policies are held in the grid, not on a cluster, so one policy can be applied to buckets on any Ceph cluster in the grid.&lt;br /&gt;
&lt;br /&gt;
== Managing rate limits from the CLI ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| qs bucket-ratelimit-apply || Apply a policy ({{Code|1=--ratelimit-policy}}) or inline limits to the buckets in {{Code|1=--bucket-list}}&lt;br /&gt;
|-&lt;br /&gt;
| qs bucket-ratelimit-policy-create || Create a policy&lt;br /&gt;
|-&lt;br /&gt;
| qs bucket-ratelimit-policy-modify || Change a policy&amp;#039;s name or limits&lt;br /&gt;
|-&lt;br /&gt;
| qs bucket-ratelimit-policy-get || Show one policy&lt;br /&gt;
|-&lt;br /&gt;
| qs bucket-ratelimit-policy-list || List the policies&lt;br /&gt;
|-&lt;br /&gt;
| qs bucket-ratelimit-policy-delete || Delete a policy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The limits are {{Code|1=--max-read-ops}}, {{Code|1=--max-write-ops}}, {{Code|1=--max-read-bytes}} and {{Code|1=--max-write-bytes}}, all per minute, with bandwidth in bytes. Without {{Code|1=--ratelimit-policy}}, {{Code|1=bucket-ratelimit-apply}} applies the limits given on the command line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs bucket-ratelimit-policy-create --name=tenant-standard --max-read-ops=6000 --max-write-ops=3000 --max-read-bytes=6442450944 --max-write-bytes=3221225472&lt;br /&gt;
qs bucket-ratelimit-apply --ratelimit-policy=tenant-standard --bucket-list=media,backups&lt;br /&gt;
qs bucket-ratelimit-apply --bucket-list=media --max-read-ops=0 --max-write-ops=0 --max-read-bytes=0 --max-write-bytes=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The last command removes the limits from the bucket.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Scale-out Object Setup (ceph)]] -- object gateways, users and buckets&lt;br /&gt;
* [[Bucket Lifecycle Policy]] -- moving and expiring objects by age&lt;br /&gt;
* [[Object Storage Classes and Cloud Tiering]] -- storage classes and tiering objects to the cloud&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 6.9.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qadmin</name></author>
	</entry>
</feed>