Plone TuningWe have improved Plone site performance for a wide variety of customers with diverse hosting environmentshttp://beta.jazkarta.com/services/plone-websites/plone-tuninghttp://beta.jazkarta.com/logo.png

Plone Tuning

We have improved Plone site performance for a wide variety of customers with diverse hosting environments

Getting optimum performance from a complex or heavily used Plone site requires expertise. Jazkarta employs some of the leading engineers in the Plone community, with years of experience troubleshooting, tuning, and optimizing Plone sites. Performance tuning is included with Jazkarta's Plone Support packages and we also provide performance tuning as a stand-alone service.

Performance tuning is a three phase development process whose goal is to improve the responsiveness of Plone sites through work in the following areas:

Identifying bottlenecks in source code, and making code changes to increase efficiency

Developing and reﬁning caching strategies to reduce load on the system architecture

Performance tuning work always starts with an assessment, followed by implementation and (optionally) load testing.

Site Assessment

The ﬁrst phase of any performance tuning job is a site assessment, in which we analyze the site and determine what optimizations are needed. This work is done at a ﬁxed price.

Site Audit - To prepare the assessment, we survey the site’s setup to get a full understanding of the architecture and existing conﬁguration.

Recommendations and Best Practices - The deliverable of the site assessment is a detailed report of what we have found, with a cost estimate for the tuning work that needs to be done. This includes documentation of the current set up and technical recommendations for performance improvements. The recommendations will also include best practice guidelines for setting up caching, load balancing and related optimizations.

Implementation

In this phase of the work we implement the recommendations of the assessment. The amount of time required for this phase depends on the optimization that needs to be done. The work can include:

Adjusting Zope’s built-in RAMCache and HTTPCache

Conﬁguring Plone’s caching setup with a caching proxy such as Squid or Varnish

Load balancing using Pound and Zeo

Proﬁling of page templates and Python code with the goal of optimizing long-running queries

Load Testing

Jazkarta can perform optional (but highly recommended) load tests to measure the performance improvements gained by conducting the optimizations. This work includes writing the tests, running them before and after the optimizations, and delivering a report. The key advantage of this work is that it provides quantifiable measurements that can be used to assess the success of the performance tuning. The amount of time required for this phase depends on the number of tests and complexity of the site.