Current

This document is valid for the current version of Plone.

Plone Scaling and Performance

Thoughts and ideas about scaling plone (including performance), a collective project of Elizabeth Leddy and various contributors.

  1. Monitoring Tools The first thing you should do when setting up your system is spend some time setting up monitoring tools. How can you make quantitative changes if you aren't measuring? Here is an overview of tools that have worked well for people and what they do.
  2. Typical Plone Setups Do you have a small/medium/large plone install? Enter the details and win a prize! The prize of pride that is...
  3. The Software Stack Break down of each piece of the stack and options of software. Reduce the emphasis on config files and more emphasis on when each piece is right.
  4. The Hardware Dilemma Whether you are in the cloud or in the server room, you have to decide how to distribute the software amongst your boxes get the best bang for your buck when it comes to hardware utilization.
  5. To Cloud or not to Cloud Whether you go with a cloud solution or not, one thing to remember is that the cloud does not give you automatic scalability. The cloud gives you options, not solutions, and in fact there are many good reasons to host your own (financial AND technical). You still have to put in effort to design a system that allows you to "just add more hardware". The cloud may or may not be part of your deployment strategy (don't forget about hybrid solutions!).
  6. Tuning
  7. Maintenance Just like with backups, you should be able to run any maintenance script at any time under any load. You never know when things will be run on accident!
  8. Backups The easiest way to backup things is to schedule everything to run at midnight when no one is on the system. Stop thinking like that! You should be able to backup at any time of the day at any load without penalty to the end user. You never know when you need a backup or when the trigger could be accidentally pulled. Here are a couple ways to handle backups AND do it in a sane way.
  9. Measuring Front End Performance Before getting all worked up and diving into back end performance, please please please take some time to look at whats happening on the front end.
  10. Perceived Performance When it comes to performance, the most frustrating thing can be that measuring performance in the backend doesn't necessarily translate to the user experiencing any of that gain. What we really care about, more than anything, is the user experiencing a faster, more responsive plone site.
  11. Caching So you think you want to cache do ya? Of course you do! Caching is a very broad topic, and if you want to get serious about it there are plenty of books and, god forbid, you can read the spec on it. I'll try to cover the useful basics here.
  12. Performance Enhancing Products A list of addons that help workaround known performance potholes in Plone, many of which have been fixed in Plone 4
  13. Coding for Performance
  14. System Checklist
  15. Monitoring Checklist
  16. Maintenance Checklist
  17. Sanity Checklist
  18. Presentations Useful conference talks and other presentations on Plone scaling and performance
  19. HAProxy Quick Config
  20. Httpd Caching Example
  21. Monit directive examples
  22. Pack Zeodb Example
  23. Sample Repozo Script
  24. WebLion Architecture
  25. Some initial questions to ask Site slow? Need help? Take a moment to pull together some basic background information.

All content on one page (useful for printing, presentation mode etc.)

 

Contribute

Something wrong or out of date? Anybody can edit or create a new article in the knowledge base. Simply create an account on this site, log in, and click the Edit button to contribute.