Best Practices for Plone Performance

From DevSummit
Jump to navigation Jump to search

Facilitated by Ross Patterson

Plone gives administrators and developers a lot of rope, but it need not be slow. Join me for an overview of best practices for both development and deployment of Plone applications and sites. We will show you how not to slow your application down by avoiding common development mistakes. You will learn how to architect your Plone deployment with an eye to scalability. Caching strategies will also be covered along with the tools that make them easy to setup and administer. We will also review the tools and best practices for profiling and optimizing you Plone code and deployments. Finally, we'll muse on some future directions for improving Plone scalability.

  • Multi-tier architecture, from backend to frontend:
    • ZEO (Zope Enterprise Objects): Object database server – lightweight on CPU, storage heavy
      • ZEO RAID – allows you to build out a clustered ZEO server
    • cluster of ZEO app clients – heavy on CPU and ram
    • Pound: load balancer, each session always routed to the same ZEO client
    • Varnish: dedicated zope page cache
    • Apache front end: secure
  • Cache-Fu manages caching, flushing stale caches etc.
  • buildout: has recipes for building out & deploying virtually anything (known as parts)