F5 Sites
  • F5.com
  • F5 Labs
  • MyF5
  • NGINX
  • Partner Central
  • Education Services Portal (ESP)
Contact
  • Under Attack?
  • F5 Support
  • DevCentral Support
  • F5 Sales
  • NGINX Sales
  • F5 Professional Services
Skip to contentBrand Logo
Forums
CrowdSRC
Articles
GroupsEventsSuggestionsHow Do I...?
RegisterSign In
  1. DevCentral
  2. Articles
  3. Technical Articles

API Request Throttling: A Better Option

This past week there's been some interesting commentary regarding Twitter's change to its API request throttling feature. Request throttling, often used as a method to ensure QoS (Quality of Service)...
Published Jun 30, 2008
Version 1.0
application delivery
BIG-IP
dev
devops
hardware
iRules
qos
twitter
us
Lori_MacVittie's avatar
Lori_MacVittie
Icon for Employee rankEmployee
Joined October 17, 2006
View Profile
Lori_MacVittie's avatar
Lori_MacVittie
Icon for Employee rankEmployee
Jan 16, 2009
Michael,

 

 

Sorry for the delay. I'm not an expert in optimizing iRules like some of the guys here on DC so I went to the guys who know best.

 

 

Here's what they said:

 

 

1) [HTTP::uri] contains "jspa": Contains is a relatively expensive matching function. If the path match can be made exact (equals), it is much more efficient.

 

 

2) The throttle related keys are set by the client IP address. If users are being NAT'd, this could cause problems. It would be safer to parse some sort of unique user ID from a cookie or query parameter.

 

 

3) Entries are only added to the session table. Entries are never deleted. If you have a very large number of client IP addresses coming in, you will fill up the memory. One should add the optional timeout value to the session add commands.

 

 

Hope that helps, and no problem on the help - that's what I'm here for!

 

 

Help guide the future of your DevCentral Community!

What tools do you use to collaborate? (1min - anonymous)

ABOUT DEVCENTRAL

DevCentral NewsTechnical ForumTechnical ArticlesTechnical CrowdSRCCommunity GuidelinesDevCentral EULAGet a Developer Lab LicenseBecome a DevCentral MVP

RESOURCES

Product DocumentationWhite PapersGlossaryCustomer StoriesWebinarsFree Online CoursesTraining & Certification

SUPPORT

Manage SubscriptionsProfessional ServicesCreate a Service RequestSoftware DownloadsSupport Portal

PARTNERS

Find a Reseller PartnerTechnology AlliancesBecome an F5 PartnerLogin to Partner Central

©2026 F5, Inc. All rights reserved.
TrademarksPoliciesPrivacyCalifornia PrivacyDo Not Sell My Personal Information