Plone experts know this. But the others need to know it too. After all, we’re all on the same boat !
You’re in the testing phase of your Plone project, and you find it slow ? Take the following corrective actions, and stop worrying !
- Use a ZEO-based setup. This is important ! You can distribute the load on 2 or more ZEO clients. (Note that the ZEO server and clients can all be on the same machine.)
It is possible to bind a ZEO client to a special type of requests such as “content contribution requests”. This way, you keep the other ZEO client(s) responsive for the “normal” requests.
If you need automatic load balancing, add a load-balancer software such as Pound in front of the ZEO clients.
- Take advantage of Zope’s HTTP Cache Managers.
- A simple fix you can do for Plone 2’s default HTTP Cache Manager ; go on the HTTPCache object, and uncheck the “Cache anonymous connections only?” option. There is no reason you should not cache static content such as skin images/files for Authenticated users.
- Invest a little more to go further with CacheFu-based caching policy management tools.
- Install a Squid proxy-cache. It is recommended to serve the site with Zope behind Squid (or Zope behind Squid behind Apache).
There is also Varnish as an alternative to Squid, though I haven’t yet tested it.