Share » Learn » eZ Publish » eZ Publish Performance Optimization...

eZ Publish Performance Optimization Part 1 of 3: Introduction and Benchmarking

Tuesday 16 January 2007 1:33:00 pm

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Your website project's scale determines the architectural, hardware, configuration and setup needs. Below, we have listed some values that must be collected or estimated at the beginning of a project in order to set some performance-related goals to use as benchmarks. Obviously, a simple informational site for a small business will have different requirements than a dynamic, interactive website for a large corporation.
Statistics needed for creating benchmarks include:

  • Number of pages (articles, products -- called "objects" in eZ Publish)
  • Number of user accounts in the system
  • Average number of pageviews per day
  • Peak number of pageviews per day
  • Concurrent visitors
  • Content publishing rate -- how many objects are published per day

Requirements

Once you establish the size of the project, you need to compare this with customer requirements (or your requirements, if you are the "customer"). There are often requirements about page load time, maximum load time, transfer time and other performance measures. It is important to be clear on the expectations and on what is to be delivered.

Performance terms

Before we can assess a system's capabilities, we must be familiar with some basic terminology. Below is a list of performance terms and definitions.

Performance
Performance is a general term that refers to how fast the server is capable of handling one request. Performance affects every user's experience.

Latency
This is the time between when the request is sent to the webserver to the first webserver response, and could include a wait time before page generation has started.

Page generation time
This is the time taken by the server to generate a dynamic page and prepare it for transfer to the user.

Page transfer time
This is the time taken to transfer the page from the server to the user.

Page load time
This is the total time from when the request is sent from the client until the page is completely displayed in the client's browser. This includes the transfer of HTML, CSS, images and any other elements needed from the server to display the complete page. Typically, this also includes the actual rendering time by the visitor's browser.

This is the total wait time that the user experiences when accessing a page. If this is slow, there are several possible causes:

  • Page generation time on the server
  • Element transfer time
  • Rendering time in the browser

The components of page load time

Concurrency

Concurrency is a term that defines how many parallel requests can be handled by the server at the same time.

Scalability
Scalability defines how well the system can handle an increase in concurrent visitors while maintaining a specified level of performance.

Benchmarking
This is the practice of comparing current performance levels to a set of requirements or standards.

36 542 Users on board!

Tutorial menu

Printable

Printer Friendly version of the full article on one page with plain styles

Author(s)