Drupal : Optimisation des performances



Documents pareils
PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Les bonnes pratiques. de l hébergement d un CMS

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre


Tests de montée en charge & Haute disponibilité

Guide d installation JMap 5.0

Hébergement PHP. Comprendre pour bien choisir son hébergement

CAHIER DES CHARGES D IMPLANTATION

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Choisir la solution d hébergement et de support faite pour vous

Les technologies du Big Data

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Lorsque l'on rencontre des problèmes de performance, il est souvent trop tard "mais cette fois, c'est sûr, on a la bonne solution!

Cloud Computing Maîtrisez la plate-forme AWS - Amazon Web Services

Exigences système Edition & Imprimeries de labeur

Les Content Delivery Network (CDN)

Formation owncloud Thierry DOSTES - Octobre

Exigences système Edition & Imprimeries de labeur

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Configuration Matérielle et Logicielle AGORA V2

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

Architectures en couches pour applications web Rappel : Architecture en couches

THEME : Mise en place d une plateforme d enseignement à distance

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Caches web. Olivier Aubert 1/35

NBS System et Zend Technologies Découvrez la scalabilité sans limite pour vos applications PHP grâce au Zend Cloud

Rapport de projet. Répartition des charges sur serveurs web virtualisés. 1. Introduction

Présentation technique. Architecture et Intégration. Organisation des équipes mobiles. Planification des interventions. Optimisation des plannings

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

La gestion du poste de travail en 2011 : Panorama des technologies

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

IBM Tivoli Monitoring, version 6.1

«Clustering» et «Load balancing» avec Zope et ZEO

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

Bases de données documentaires et distribuées Cours NFE04

A5.2.4 Étude d une technologie, d'un composant, d'un outil

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

--- SIDOMTECH (Auto-Entreprise) ---

Résoudre les problèmes PHP, les meilleures (et les pires) techniques

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Tests de performance du matériel

1. Installation standard sur un serveur dédié

//////////////////////////////////////////////////////////////////// Administration bases de données

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Protection des données avec les solutions de stockage NETGEAR

PHP 5.4 Développez un site web dynamique et interactif

«clustering» et «load balancing» avec Zope et ZEO

Le cloud computing au service des applications cartographiques à haute disponibilité

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Architectures informatiques dans les nuages

Opérateur global de la performance IT

Spécifications Techniques Générales. Techno Pole Internet. Lycée Djignabo / Ziguinchor

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Etude des principales solutions d optimisation d un serveur Web Apache / PHP / MySQL

Architectures d implémentation de Click&DECiDE NSI

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

NEXTDB Implémentation d un SGBD Open Source

Le passage à l échelle de serveur J2EE : le cas des EJB

Performance Front-End

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Hébergement MMI SEMESTRE 4

Fiche Technique Windows Azure

Présentation du module Base de données spatio-temporelles

Audit et optimisation MySQL 5

Monter une infrastructure web pour 1 million de visites par jour :

Symantec Endpoint Protection Fiche technique

L'automatisation open source pour SI complexes

Architecture de serveurs virtualisés pour la communauté mathématique

Infrastructures Parallèles de Calcul

nexus Timestamp Server

Etude de la pertinence et de l'intérêt des appliances WAF (IPS web) à l'inria

Documentation d information technique spécifique Education. PGI Open Line PRO

Optimisations des SGBDR. Étude de cas : MySQL

Zabbix. Solution de supervision libre. par ALIXEN

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Transformation vers le Cloud. Premier partenaire Cloud Builder certifié IBM, HP et VMware

Exigences système Commercial & Digital Printing

Configuration système requise

Segmentation d'images à l'aide d'agents sociaux : applications GPU

2 disques en Raid 0,5 ou 10 SAS

Etude de l ENT de l Université de Paris 5. Recommandations des experts suite à la journée du 29 octobre 2009

PostgreSQL. Formations. Calendrier... 14

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Petit guide pour l installation de CVW sous Linux

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

Transcription:

Drupal : Optimisation des performances

Qui? Guillaume Plessis Expert, Steady bean Mainteneur du projet Dotdeb Co-auteur «Performances PHP» Frédéric Marand Fondateur d OSInet Mainteneur Drupal Audit, conseil & formation Drupal

Serveur de référence Instance Amazon EC2 c1.xlarge : 8 cores Intel Xeon E5506 (2,13GHz, 64bits) 7Go de mémoire vive Debian 6.0.3 «Squeeze» + Dotdeb Apache 2.2 + PHP 5.3.8 + MySQL 5.1.58 Drupal 7.9

Les étapes 1.Bonnes pratiques Drupal 2.Savoir ce qui se passe 3.Analyser 4.Simuler 5.Améliorer

Bonnes pratiques Drupal Desserrer le frein à main Configuration Drupal par défaut : sûr, mais lent Utiliser les paramètres d accélération niveau de cache agrégation Coder dans les bonnes pratiques pièges courants : node_access vs. blocs, requêtes dans les thèmes développer en E_STRICT ( E_ALL < PHP 5.4) Pas de Dblog en production

Drupal Journaux & debug DBlog : en développement Syslog : en production Apache access.log : pour des scénarios de tirs de charge error.log : détection des erreurs applicatives PHP php.err : détection des erreurs applicatives Xdebug / Xhprof : traces pour le profiling MySQL journal des requêtes lentes et sans index journal général pour les scénarios de tirs de charge

Monitoring : pourquoi? Objectifs disponibilité stabilité Fournit des éléments d analyse Détecter les dysfonctionnements Anticiper le dimensionnement

Monitoring : outils Nombreux outils : Nagios et ses dérivés, Zabbix... Cacti, Munin PHP : Pinba Xhprof, APM Dtrace Zend Platform Drupal : MuninAPI

Monitoring : métriques OS : CPU, RAM, réseau Apache : Requêtes par seconde Temps de réponse PHP : Pinba Drupal : sessions, entités MySQL : Requêtes par seconde, connexions innodb_buffer_pool

Analyser : profiling Objectif détecter les goulots d étranglement performance! Outils Xdebug, Xhprof, Kcachegrind, webgrind, Zend Platform... Créer un environnement dédié

Simuler Objectifs détecter les goulots d étranglement qualifier une architecture Outils Jmeter, Funkload, Tsung, Siege, ab... / Simpletest Attention à l uniformité des tests! 15 req/s

Optimisation : PHP PHP n est souvent pas le responsable Sachez comment il fonctionne : script opcodes exécution optimisation, ré-ordonnancement mise en cache (attention à l invalidation) Outils disponibles : caches / accélérateurs : APC (3.1.6), Xcache, Zend Optimizer... caches : fichiers / memcached / Redis 123 req/s

Optimisation : serveur web Adapter la configuration à la machine Apache : KeepAlive ServerLimit, Maxclients MaxRequestsPerChild PHP : un memory_limit réaliste (2Go de RAM = 16 scripts PHP x 128Mo) configuration différente de la CLI (Drush) 154 req/s

Optimisation : serveur web Pistes pour Apache (prefork) : Désinstaller les modules non utilisés Activer les optimisations de compilation? Utiliser d autres serveurs HTTP plus légers : Nginx Lighttpd Utiliser un reverse-proxy / cache Utiliser un CDN 152 req/s

Optimisation : HTTP Beaucoup d améliorations possibles But : faire baisser la charge sur le serveur web Quelques pistes : Compression gzip/deflate (étendue + configuration Drupal) Connexions persistantes / pipelining / multiples serveurs de médias Eviter les JS synchrones ou en début de page Pas de fetches background synchrones ou de pages dans la page En-têtes HTTP efficaces : Expires etags reverse-proxys

Optimisation : MySQL Choisir le bon système (Linux : 2.6+, 64bits) la bonne distribution de MySQL (Oracle, Percona, MariaDB / 5.1, 5.5) le bon moteur de stockage (InnoDB/XtraDB, HEAP, Archive...) Proliling + EXPLAIN Optimisation via les logs Réplication Déport des données en NoSQL

Optimisation : architecture Scalabilité verticale : augmentation de la puissance du serveur horizontale : augmentation du nombre de serveurs Ouverture vers le Cloud

Architecture type

Questions? gui@php.net w_a_s_t_e fgm@osinet.fr osinet