Skip to content

High-Performance Websites - PHPUG and WebPerformanceUG

Arne Blankerts, Stefan Priebsch - High-Performance Websites

This talk contains information about architecture.

Classical Architecture

When have done this for quite a while.

Browser->WebServer->PHP-Database

This works best in the past. General solution was to add more hardware and that leads to more errors.

  • monolithic architecture
  • normalized data (in database)
  • pull-principle (browser is build per request)
  • full page cache is bad
  • edge site include (for varnish/ESI) is also not the best solution

We are fast when:

  • no real workload per request
  • everything from memory
  • denomalized data
  • snippets

How Often Does Data Change (From Rare To Often)?

Based on the example of a shop system.

  • catalog
  • product information
  • price
  • availability

Who Changes Data?

  • editor
  • product manager
  • receipt of goods / outgoing goods

New Architecture (CQRS-Architecture)

  • images and static content is deliverd by static content webserver
  • only dynamic part is done by php
  • snippets are deliverd, not full pages

PHP->Key-Value-Store->Backend-Process->Database
or
PHP->Web-Service->Database

Benefit of key-value-store (for example redis) is, that the database itself can die and the only thing that happens is, that the entries are becoming obsolete.

But What About Filternavigation?

Use a searchengine that returns simple a collection of product keys. Use this product keys and ask the key value store to fetch product data.

But What About Personalization?

  • use snippets with variables and default values
  • fetch this snippet in the key value store
  • thanks to "time to death" feature provided by many key-value-stores, you can easily define "special offers" per day and so on

Nice meetup, incredible how many people are attending already.

zfsonlinux now as simple aur package in your arch linux and general informations about performance

Looks like this will be my last entry about arch linux and zfsonlinux for the near future. Why? Simple because of the fact that you don't need to build it on your own anymore. The maintainer of the zfsonlinux builds has an unofficial repository you can use.

On the arch linux wiki page, there is a easy step by step howto.

Zfs should be a zero configurable filesystem. But if you have any problems, the following links can help you to figure out where the problem is.

web - Zend Framework 1.12 new autoloader

A quick one today. I found an exciting entry on Robert Basic's Blog called new autoloader in zend framework 1.12. While i am already working with zend framework 2, i knew about the new autoloading mechanism but its good to know the guys from zend framework are backporting this to the old zend framework 1. Robert shows you how to use it in your current zend framework 1 projects and links to the zend framework manual and how to increase the classloading performance.