Niveau : intermédiaire
Nous avons un serveur web, un accélérateur PHP, un serveur SQL, possiblement un reverse-proxy de type Nginx, et le tout ronronne tranquillement.
Le framework du site est assez lourd. Toutefois les machines sont puissantes, et les pages sont générées en une ou deux secondes, ce qui est tout à fait acceptable pour le visiteur.
C'est ce que j'appellerais une architecture "honnête", ou encore "you get what you pay for".
Toutefois, s'il y a des pics de fréquentation, si le marketing décide d'organiser une campagne de communication sans vous prévenir, si votre site commence à devenir viral, par un bon billet Twitter ou des partages Facebook, son accessibilité risque de se dégrader rapidement.
Les temps de réponse d'un site croissent exponentiellement et non pas linéairement, par rapport au nombre de visiteurs : plus les serveurs seront sollicités, et plus les temps de réponse vont se dégrader.
Les visiteurs vont s'énerver lorsque leur page ne s'affichera pas assez rapidement, et vont encore plus charger l'infrastructure, qui s'écroulera.
Mon expérience dans le domaine de l'hébergement web m'a appris qu'une architecture "honnête" ne suffit pas pour absorber les pics de fréquentation, qu'il faut parfois savoir tricher avec l'architecture, ou encore "hyper optimiser", pour avoir une infrastructure solide, résiliente, capable d'encaisser.
C'est quelque part, d'un point de vue métier, laisser au site web la possibilité de dépasser les attentes, plutôt que de vouloir à tout prix le limiter, en se basant sur des objectifs de fréquentation fixés sur le papier ...
L'un des moyens les plus efficaces pour améliorer les performances des sites web, c'est Memcached !