正在翻頁。
正在呈現下一章……
此閱讀內容目前僅有英語版。界面使用你選擇的語言。
閱讀英語原文 →In computer networks, rate limiting is used to control the rate of requests sent or received by a network interface controller. It can be used to prevent DoS attacks and limit web scraping.
Research indicates flooding rates for one zombie machine are in excess of 20 HTTP GET requests per second, whereas legitimate rates are much lower.
Rate limiting should be used along with throttling pattern to minimize the number of throttling errors.
Hardware appliances can limit the rate of requests on layer 4 or 5 of the OSI model.
Rate limiting can be induced by the network protocol stack of the sender due to a received ECN-marked packet and also by the network scheduler of any router along the way.
While a hardware appliance can limit the rate for a given range of IP-addresses on layer 4, it risks blocking a network with many users which are masked by NAT with a single IP address of an ISP.
Protocol servers using a request / response model, such as FTP servers or typically web servers may use a central in-memory key-value database, like Redis or Aerospike, for session management. A rate limiting algorithm is used to check if the user session (or IP address) has to be limited based on the information in the session cache.
In case a client made too many requests within a given time frame, HTTP servers can respond with status code 429: Too Many Requests.
However, in some cases (i.e. web servers) the session management and rate limiting algorithm should be built into the application (used for dynamic content) running on the web server, rather than the web server itself.
Data centers widely use rate limiting to control the share of resources given to different tenants and applications according to their service level agreement. A variety of rate limiting techniques are applied in data centers using software and hardware. Virtualized data centers may also apply rate limiting at the hypervisor layer. Two important performance metrics of rate limiters in data centers are resource footprint (memory and CPU usage) which determines scalability, and precision.
There usually exists a trade-off, that is, higher precision can be achieved by dedicating more resources to the rate limiters. A considerable body of research with focus on improving performance of rate limiting in data centers.
選編并重新排版自 Rate limiting,由其貢獻者編寫,采用 . 修訂版 1372842478。 章節和格式經過精簡;連結中的修訂版提供完整背景與貢獻歷史。此參考文本繼續遵循原許可證。其附加引用連結來自該修訂版,尚未在此獨立核查。