Throttle is a WordPress implementation of a bandwidth and script limiting throttle. It provides an API to monitor and report current load to plugins or themes, allowing them to limit non-essential elements until load reduces. In doing this it limits the effect of traffic peaks on your server’s performance.

Download the latest version here.

Installation Instructions

  • Unzip the downloaded package and drop the Throttle folder in your WordPress plugins folder
  • Log into your WordPress admin panel
  • Go to Plugins and “Activate” the plugin. You can now download the plugins which make use of the Throttle system.
  • Set up your Throttle configuration under Options / Throttle. All Throttle-enabled plugins are configured through this panel.

Using the WordPress Throttle

Blog Owners / Administrators

For blog owners and administrators Throttle represents a simple way to control the load that your WordPress load places on your site server. Reducing bandwidth and script load can both save you money and keep your site running if it suddenly becomes popular. Read more…

WordPress Plugin Developers

For WordPress plugin developers Throttle provides a simple API to allow your plugins to behave well under heavy site load. Minimal changes to code are required to enable Throttle for non-essential plugin elements. Read more…

Extras

For demonstration there are a number of demo Throttle plugins which provide additional services. For users these provide useful tools such as redirecting visitors to cached pages & removing images from posts. For developers they provide good demonstration plugins for development. Read more…

Advanced Topics

The Throttle API & configuration are both designed to be as simple as possible. However, technical details of how the Throttle calculates site load are also available, should you want them! Read more…

Releases

  • v1.3 – March 7th 2007
    • Logic bugfix. Ability to disable active Throttles.
  • v1.0 – March 4th 2007
    • Complete API in place for use in other plugins. More details…
    • Administration panel for configuring all Throttle levels.
    • Current status indicator.
    • Useable.
  • v0.1 – February 1st 2007
    • Initial release. Stable where tested.

Notes

Feedback and contributions to this project are always appreciated. Testing, etc. is especially beneficial to see how the Throttle system behaves on different setups as well as checking the default values provided for adjustment.

27 Responses to “Throttle”

  1. missi said

    Works for me. Thx. 🙂

  2. Jordan said

    Definitely going to use this plugin, Thanks!

  3. Ozh said

    This looks like a pretty smart idea. Not sure I’ll be usinge it but I’m bookmarking the page anyway

  4. Andy said

    Thanks for this! It should prove very useful and I love any plugin that does great things without the need for user intervention! 🙂

  5. noname said

    1. link to coral cache cdn is wrong
    2. it seems as very nice plugin, it should be implemented in the core – have you contacted devs?
    3. it would be nice to have some testing possibility – so e.g. possibility to set in plugin admin, that now it should report as he got level 6 load

  6. noname: Thanks for the feedback – I’ve updated the link.

    I’ve not contacted the devs yet although ideally I would like this to be part of core – like Drupals own Throttle is. It certainly makes sense to allow this capability to be available throughout WordPress blogs.

    I’ll be adding more functionality – e.g. email reports, etc. in the next release. This first version was purely “proof of concept” – thankfully the concept seems sound. It’s chugging away nicely on this very site!

  7. Peety said

    I want to take this opportunity to thank you for developing such a wonderful and necessary plugin.. IT WORKS 100%.. Thank you, I look forward to future releases 😀

  8. Geoff said

    I’m getting an error when I try to use this plugin.

    PHP Parse error: syntax error, unexpected T_ELSE, expecting T_FUNCTION in throttle.php on line 260

  9. Geoff: This is a bit strange as the development version (currently available at the download link above) works fine on my install. Could you try downloading again in case something has been corrupted, then report back with WordPress version, plugin version and PHP version if you know it. I should be able to track down the problem with that info.

    Thanks for getting in touch.

  10. andrew said

    hi, the plugin is great but could you please comment on how it decides when to activate itself? is it based on the cpu load of the server or hits that the website got in, say, last 60 seconds?

  11. andrew: Apologies for the delay in getting back to you – it’s been a hectic few weeks!

    The plugin activates itself on the basis of the number of hits your site received in the last 60 minutes. This should be a reasonably good indicator of the load your site is currently experiencing. By default Throttle is configured to activate fully when your site would, if un-throttled, exceed the hosts bandwidth limit by the end of the month.

    Of course, this is usually well below the point where the traffic would have a detrimental impact on the server, however it should reduce the likelihood of excess use charges.

    Lastly, its also worth noting that Throttle only disables the plugins / theme elements that you specify at the levels that you specify. It is not a all on or all off decision.

    Typically you will want to set the high-bandwidth / uneccessary plugins to be disabled at the lower levels and vice-versa.

    If you have any more questions let me know!

  12. advanced config doesnt work for me. it just says errors on page when i click the link.

    also my server load is always 10 (ie max)… im on a shared server, is there a way to better achive the goal your trying to commit to for a shared server?

  13. mindlessoath: It sounds like a browser incompatibility – can you let me know which one you’re using? Thanks!

  14. Tracy said

    I might be retarded or something, but i’m having a little difficulty getting the thing to work. I added the plugin correctly and activated it… then it shows that my server is at maximum load which it isn’t. I can’t even see the advanced settings. Is this a plugin only for linux systems?

  15. Tracy: Not sure what the problem is there. Throttle has basic settings configured for an average blog. If you’re blog gets quite a lot of traffic I wouldn’t be suprised if you need to adjust the Advanced settings – I do for this site for example.

    The Advanced Settings should pop up when you click on the link on the Options page. If that’s not working you could try downloading the latest version (v1.5) where these options aren’t hidden. Let me know how you get on once you have this – if you’re still having problems I’ll see what I can do to fix!

    Thanks for the feedback.

  16. Rolando said

    Very cool, thanks!

  17. Rolando said

    I am on a VPS, which has no bandwidth
    limitation. Should I set my
    bandwidth to 0 MB / Month

  18. Tracy said

    Hey sorry I took so long to respond. I just downloaded the latest stable v1.5. and I guess i’ll see it’s effectiveness from here and report back later.

  19. Rolando: Sorry it took so long to get back to you, been a busy few months. It doesn’t make sense to set the bandwidth to 0 as if you do that Throttle will have no effect at all.

    Find out from your host what the throughput is on their link (this cannot be infinite) over a monthly period. Enter this into the bandwidth box and it will make sure your site does not over-stretch their network.

    Tracy: Hello again. Let me know how you get on – I’ll be doing some more work on Throttle over the coming weeks.

  20. Rolando said

    Thanks Martin. I just looked at last month’s usage which was about 50gb, so I set it to that for now. Thanks for getting back.

  21. Tracy said

    Geez my response time sucks! I downloaded the latest version as suggested and it works great. However, I keep getting a javascript error… or some sort of script error. Everything is still functioning. Maybe it’s just an IE thing

  22. Jayson said

    I am desperate for some type of tutorial on how to use your plugin Throttle. All of the links on this page redirect to a 404 error page and I can not find a tutorial anywhere on the internet. Please Help….

  23. Thaya said

    It seems like the discussion became dead? I think this plugin is a great idea, I’m not sure why discussion on here or wordpress.org became died.

    Anyhow, I’m looking to install this on WP2.3, but since it seems to be like Development has stopped. Is the plugin compatible?

  24. BlaKKJaKK said

    Question. I installed it. Put my average traffic settings for this month:

    Host bandwidth = 3072000
    Average Page Size = 30kb
    Hits per Hour = 6916

    Now what? Unless I misread the above, will do anything if none of my plugins are designed to work this? If does throttle what effect does the users see?

    Other installed plugins
    AJAX Comments
    Askmet
    All in One SEO Pack
    Contact Form ][
    Google XML Sitemaps
    Maintenance Mode
    ShareThis
    WordPress.com Stats
    wp-cache
    WP-DBManager
    WP-Links

  25. Jackson said

    Doesn’t work at all.

    I get errors on all 3 different themes.

  26. Matt said

    Hello,

    It doesn’t seem to be compatible with WP 2.3.x – will there be an update ?

    Thanks

  27. I’ve fixed the 404 errors on this page so there should be a bit more information available on how to get it working. It’s not currently actively developed, but it’s next in line for some tlc when I get a free moment.

    If you have any feature requests get them in now!

Leave a reply to Matt Cancel reply