{ Optimisation LAMP Comment améliorer les performances de votre application LAMP.

Slides:



Advertisements
Présentations similaires
Ipchains TP 1 TP 2 TP 3 Installer un serveur web sur votre poste,
Advertisements

Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Travailler à l'ensimag avec son matériel personnel (dans les locaux Ensimag ou depuis l'extérieur) 1.Introduction 2.La clé USB Ensilinux 3.Rappels : Accès.
OpenERP The inCloud Business Solution 3/3/ / Camptocamp Chambéry Vienne Lausanne ■ Éditeur et intégrateur de solutions Open Source.
Messagerie Open Source à la DGCP Implémentation réalisée par IBM et Pilot Systems Sylvain Viollon.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
Séminaire Novembre Outils de diagnostic réseau (O.D.R)
Introduction aux technologies du Web Mercredi 12 décembre 2007 Patrice Pillot
SSO : Single Sign ON Authentification unique Il y a 10 ans : Un luxe Il y a 3 ans : Un composant à part entiere Aujourd'hui : Incontournable Demain : Le.
1 Fully Automated Nagios. 2 ● Distribution Linux dédiée supervision ● Une ISO contenant : – La base du système sous CentOS – L'outil Nagios – Les applications.
- Formation ActiveMQ 1 1.
La sécurité Un sujet TRES vaste ! Qu'est ce qu'un « hacker » ? Risques pour un utilisateur lambda ? Comment s'y prennent-ils !? Comment se protéger ? Tout.
P.1 Mémoire de fin d’études Responsable en Ingénierie Réseaux Guillaume Jeanney Mise en place d’une solution de supervision LOGO ENTREPRISE.
L'utilisation des logiciels libres dans les Services de documentation de l'Institut d'Etudes Politiques de Lyon Journées du logiciel libre à Lyon – 13.
Les besoins des entreprises en matière de maîtrise de leur S.I Les performances Métiers Le bon fonctionnement des Infrastructures Le dimensionnement des.
L’intérêt de sauvegarder certaines données stockées localement sur les postes clients est souvent trop sous-estimée par nos utilisateurs. Casse matérielle,
Un système autonomique basé sur des bases de connaissances pour améliorer les performances d’un entrepôt de données Réalisé par : OUSSAFI MOHAMMED HOURRI.
Zabbix solution open source de supervision
Communication client-serveur
DBStation Date 06/12/16 Rédacteurs Hervé FAUVET et Bruno GUEDJ.
Journées trimestrielles du 30 mars 1999
Mise en place d’un système de partage de fichiers
Système de vidéo surveillance
Comprendre l’environnement Web
Déploiements d'applicatifs autonomes avec Pkgi
Albertine DUBOIS et Alexandre LIEGE
Présentation Scribe NG Serveur pédagogique.
Utilisation de PostgreSQL
Utentomatic - Gestion des comptes Unix sous Active Directory
Marc Cousin Meetup PostgreSQL Nantes 8 mars 2017
Journée Analyse D0, 19 janvier 2004
Les Tests de performances
Portefeuille des compétences
Installation et Configuration Internet Information Server (IIS 5)
Centralisation de logs
Chapitre 12 Surveillance des ressources et des performances
Cissé Moussa Diawara Issif Master Informatique 2ième année
EPFL – 10 octobre 2013 MEDIAWIKI WORKSHOP EPFL – 10 octobre 2013
fonctionnalités iiS iis
Wireshark Capture et analyse de trames IP
Windows Apache MySQL PHP
Outil de diagnostique et de performance pour les réseaux mesh Rajant
CeMEB La plateforme MBB
Présentation OCS-Inventory au LAPP
CeMEB La plateforme MBB
Présentation du Service Informatique
TreqS TReqS 1.0.
Documentation technique (Linux)
Communiquer et Optimiser grâce à la supervision
Lintranet LE FUTUR VOUS APPARTIENT NIL JULITTE.
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
GOUVERNANCE DES SYSTEMES D’INFORMATION IS governance.
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Cloud Computing Formation continue ASF 2018.
TECHNOLOGIE 4ème Professeur : Baptiste DUMAS.
Exposé de système / réseaux IR3
18 Bases de données parallèles et réparties
Un cloud de production et de stockage
ATELIER DE MAINTENANCE ET DE REPARATION DES EQUIPEMENTS INFORMATIQUE SURTAB ACADEMIE – JANVIER 2019 Jean Rony Fultidor Durée : 4 heures.
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
YII Yes It Is !.
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Soutenance fin d’année S’intitulant : audit et surveillance avec zabbix Présenté par: ADIE ALI Maxim Eric ANDRIAMANJATO Jean Francis Parcours:
Transcription de la présentation:

{ Optimisation LAMP Comment améliorer les performances de votre application LAMP

{ Optimisation LAMP ● Guillaume Plessis Fondateur de IG technologie Créateur du projet Dotdeb Cloud Computing raisonné, LAMP débridé ● Cyril Pierre de Geyer Co-auteur de PHP 5 avancé Vice président de l'AFUP Évangéliste / Open Source Tirs de charge, scénarios de test, optimisation

{ Architecture pour nos tests ● Instance Amazon EC2 c1.medium : ● 2 x 2,4GHz Intel Pentium 4 Xeon (32bits) ● 1,7Go de mémoire vive ● Stockage réseau ● Apache PHP MySQL ● Drupal 6.19

{ Comment optimiser 1. Savoir ce qui se passe 2. Analyser 3. Simuler 4. Améliorer

{ 1. Savoir ce qui se passe : Fichiers journaux & debug Apache : ● Accès → Amélioration des scénarios de tests ● Erreur → Détection des erreurs applicatives PHP : ● Erreur → Détection des erreurs applicatives ● Xdebug → Profiling MySQL : ● Requêtes lentes & sans indexes ● Journal des requêtes → Amélioration des scénarios de tests

{ 1. Savoir ce qui se passe : Monitoring Monitoring ● Objectifs : disponibilité, stabilité ● Fournit des éléments d’analyse pour le profiling ● Détecter les dysfonctionnements ● Anticiper le dimensionnement

{ 1. Savoir ce qui se passe : Monitoring ● De nombreux outils existent : ● Nagios, Zabbix... ● Cacti, Munin... ● PHP : parent pauvre? ● Pinba, Zend Platform

{ 1. Savoir ce qui se passe : Métriques à surveiller ● Les métriques à surveiller ● OS : CPU, RAM, réseau ● Apache : – Requêtes par seconde – temps de réponse ● PHP : Pinba ● MySQL : – Requêtes par seconde – connexions – innodb_buffer_pool

{ 2. Analyser Profiling ● Objectif : performance ● Environnement d’analyse plus lourd (souvent inadapté à la production), ● Détecter les goulots d'étranglement ● Créez un environnement propice au profiling ● Attention aux coûts en performances ● Outils : xdebug, KcacheGrind, webgrind, ZendServer Mercredi 9h : Deboguer son code – Xdebug

{ 3. Simuler ● Objectifs : ● Détecter les goulots d'étranglements ● Qualifier une architecture ● Outils ● Jmeter, Funkload, Siege, ab ● Attention à rejouer les tests dans le même contexte! ● Tir de charge de référence

{ 4. Améliorer : PHP ● Optimiser les Opcodes ● Script PHP  Opcodes  Exécution ● Optimisation, ré-ordonnancement ● Mise en cache (attention à l'invalidation!) ● Outils : APC, Xcache, Zend Optimizer... ● Tir de charge après l'installation de APC Mercredi 15h45 : APC & Memcached the High Performance Duo

{ 4. Améliorer : le serveur Web ● Configuration selon la machine à disposition ● Apache : – KeepAlive – ServerLimit, MaxClients – MaxRequestsPerChild ● PHP : un memory_limit réaliste (2 Go Ram = max 16 scripts PHP 128Mo simultanés) ● Tir de charge après optimisation de Apache

{ 4. Améliorer : le serveur Web ● Autres pistes ● Utilisez mod_gzip / mod_deflate pour optimiser l'utilisation de CPU / bande passante ● Désinstaller les modules non utilisés (java, python,...) ● Privilégier d'autres serveurs HTTP selon l'usage – Nginx pour le contenu statique ● Utilisation d'un reverse-proxy cache HTTP – Varnish

{ 4. Améliorer : optimisations HTTP ● Énormément d'améliorations possibles ● Le but est toujours d'alléger le serveur Apache ● Quelques pistes ● Compression Gzip ● en-têtes Expire ● Etags Mercredi 9h45 : Un site web performant, tout est dans le réseau et le navigateur

{ 4. Améliorer : la base de données ● Choisir le bon système (Linux : 2.6, 64 bits) ● Choisir la bonne distribution de MySQL ● Choisir le bon moteur de stockage MyISAM, InnoDB / XtraDB, HEAP, Archives... ● Optimisation des requêtes et du modèle (via logs) ● Réplication (arbre maître-esclave, maître-maître) ● Sharding

{ 4. Améliorer : l'architecture ● Scalabilité ● Verticale : augmentation de la puissance du serveur ● Horizontale : augmentation du nombre de serveurs ● Ouverture vers le Cloud Mercredi 11h00 : Le cloud computing pour PHP

{ 4. Améliorer : exemple d'architecture

{ Questions? ● ● w_a_s_t_e ● ● cyrilpdg Cycle « optimisation » ● Retour d'expérience de Weka – maintenant ● Xdebug – Demain 9h ● Un site web performant, tout est dans le réseau et le navigateur – Demain 9h45 ● Le cloud computing pour PHP – Demain 11h ● Le paradoxe des performances de PHP – Demain 14h45 ● APC & Memcached the High Performance Duo – Demain 15h45 Références et remerciements : wikipedia, milamber, oxalide, elroubio, dotdeb, l'afup, les équipes de PHP, de MySQL, d'Apache, au monde de l'OpenSource.