<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>17.7. Limiting the Rate of API Requests</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Apache_CloudStack-Admin_Guide-4.1.0-it-IT-1-" /><script type="text/javascript" src="../../../../../toc.js"></script><script type="text/javascript">
              addID('Apache_CloudStack');
              
	      addID('Apache_CloudStack.4.1.0');
              
              addID('Apache_CloudStack.4.1.0.books');
	      addID('Apache_CloudStack.4.1.0.Admin_Guide');
              </script><link rel="home" href="index.html" title="Manuale di Amministrazione CloudStack" /><link rel="up" href="sys-reliability-and-ha.html" title="Capitolo 17. System Reliability and High Availability" /><link rel="prev" href="secondary-storage-outage-and-data-loss.html" title="17.6. Secondary Storage Outage and Data Loss" /><link rel="next" href="manage-cloud.html" title="Capitolo 18. Managing the Cloud" /></head><body class="toc_embeded "><div id="tocdiv" class="toc"><iframe id="tocframe" class="toc" src="../../../../toc.html">This is an iframe, to view it upgrade your browser or enable iframe display.</iframe></div><p id="title"><a class="left" href="http://cloudstack.apache.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://cloudstack.apache.org/docs"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="secondary-storage-outage-and-data-loss.html"><strong>Indietro</strong></a></li><li class="next"><a accesskey="n" href="manage-cloud.html"><strong>Avanti</strong></a></li></ul><div xml:lang="it-IT" class="section" id="api-throttling" lang="it-IT"><div class="titlepage"><div><div><h2 class="title" id="api-throttling">17.7. Limiting the Rate of API Requests</h2></div></div></div><div class="para">
		You can limit the rate at which API requests can be placed for each account. This is useful to avoid malicious attacks on the Management Server, prevent performance degradation, and provide fairness to all accounts.
	</div><div class="para">
		If the number of API calls exceeds the threshold, an error message is returned for any additional API calls. The caller will have to retry these API calls at another time.
	</div><div class="section" id="api-throttling-configure"><div class="titlepage"><div><div><h3 class="title" id="api-throttling-configure">17.7.1. Configuring the API Request Rate</h3></div></div></div><div class="para">
			To control the API request rate, use the following global configuration settings:
		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
					api.throttling.enabled - Enable/Disable API throttling. By default, this setting is false, so API throttling is not enabled.
				</div></li><li class="listitem"><div class="para">
					api.throttling.interval (in seconds) - Time interval during which the number of API requests is to be counted. When the interval has passed, the API count is reset to 0.
				</div></li><li class="listitem"><div class="para">
					api.throttling.max - Maximum number of APIs that can be placed within the api.throttling.interval period.
				</div></li><li class="listitem"><div class="para">
					api.throttling.cachesize - Cache size for storing API counters. Use a value higher than the total number of accounts managed by the cloud. One cache entry is needed for each account, to store the running API total for that account.
				</div></li></ul></div></div><div class="section" id="api-throttling-limitations"><div class="titlepage"><div><div><h3 class="title" id="api-throttling-limitations">17.7.2. Limitations on API Throttling</h3></div></div></div><div class="para">
			The following limitations exist in the current implementation of this feature.
		</div><div class="note"><div class="admonition_header"><h2>Nota</h2></div><div class="admonition"><div class="para">
				Even with these limitations, CloudStack is still able to effectively use API throttling to avoid malicious attacks causing denial of service.
			</div></div></div><div class="para">
		</div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
					In a deployment with multiple Management Servers, the cache is not synchronized across them. In this case, CloudStack might not be able to ensure that only the exact desired number of API requests are allowed. In the worst case, the number of API calls that might be allowed is (number of Management Servers) * (api.throttling.max).
				</div></li><li class="listitem"><div class="para">
					The API commands resetApiLimit and getApiLimit are limited to the Management Server where the API is invoked.
				</div></li></ul></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="secondary-storage-outage-and-data-loss.html"><strong>Indietro</strong>17.6. Secondary Storage Outage and Data Loss</a></li><li class="up"><a accesskey="u" href="#"><strong>Risali</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Partenza</strong></a></li><li class="next"><a accesskey="n" href="manage-cloud.html"><strong>Avanti</strong>Capitolo 18. Managing the Cloud</a></li></ul></body></html>
