http://www.codizy.com
Méthodologie
et outils d’optimisations
PHP / MySQL
3 phases
dans le
cycle de vie
d’une
application…
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Post Production
Mise en production
Développement
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
13
2
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Développement1
Choisir
le
BON
framework !
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Le gain financier sur le temps de développement
ne peut...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
0
100
200
300
400
500
600
700
800
900
ATTENTION
à l’utilisation des
design patterns
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Trouver le bon équilibre
entre la mise en place de desi...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
tests… tesTS… TESTS!!!
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Jenkins
 PHPUnit
 Sélénium
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Prévoir dès le départ
le...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Utiliser
une approche MVC
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
L’approche
Model / Vue / Contrôleur
vous fera économise...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
L’utilisation de Smarty / Twig / etc…
ne devrait pas êt...
Optimiser JS & CSS
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Lors de l’écriture du template HTML,
prévoir de facilem...
Utiliser du cache
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Cache local
 Memcached / Redis
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Memcached / Redis :
système clés  valeurs
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Trop de Cache…
…tue le cache !
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Latence réseau
 Contrôler la taille du cache local
…...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Détecter
les endroits
où les requêtes
sont redondantes
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
L’application doit être
replication aware
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Lectures sur les esclaves SQL
 Ecritures sur le mait...
Attention
aux problématiques
de synchronisation
Maitre / Esclave
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST P...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
SQL :
penser dès le départ aux
problèmes de
scalabilités
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Il est compliqué de modifier la structure de la base ...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Exemple :
Détails d’exécution d’une requête SQL
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Attention aux requêtes
Innocentes mais Diaboliques !
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Ne pas chercher à
tout faire avec MySQL
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Recherche FullText
=> Sphinx, Solar, etc…
 Recherche...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Le choix de la DB
peut faciliter la maintenance système...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Différence de vitesse entre MySQL et Sphinx
… sur une r...
Feature complete ?
Analyser
les requêtes SQL…
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 Toujours prévoir du temps pour l’optimisation des
req...
… et optimiser
les bases de données
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Mise en production2
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Faire
LES BON CHOIX
à l’installation !
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Vérifier qu’il y a un cache d’opcode pour PHP
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Utiliser php-fpm
avec apache 2 en mode worker, ou avec ...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Utiliser le gestionnaire de BDD
qui correspond le mieux...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Encore un peu de Cache 
Utiliser un cache de type Varn...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Tuner les paramètres
 MySQL : my.cnf
 Apache : désact...
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Fonctionnement du Keep-ALive
Post Production 3
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
C’est en prod mais c’est
pas fini ;)
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
 MySQL : Le comportement des utilisateurs réels peut
ê...
De quoi ai-je besoin ?
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Capturer les requêtes SQL
 Percona toolkit,
 NewRelic,
 Codizy,
 …
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP ...
Percona pt-query-digest
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
New Relic
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Codizy
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Répartition des ressources
 Monit,
 Cacti,
 RRD,
 …
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Cacti
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Les ressources par type de pages,
c’est encore mieux !
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
New Relic
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Codizy
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Codizy
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Informations
Real User Monitoring
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Dyna Trace
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Codizy
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Système de collecte
des erreurs PHP / MySQL
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Airbrake
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Codizy
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Codizy
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
Conclusion
Q & A
DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
http://www.codizy.com
Codizy a créé un
d’optimisation
pour aider les développeurs à
leurs applications
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION C...
100% applications
RALENTISSEMENTS
PANNES
Subissent des
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION D...
Codizy corrige
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
Monitoring1
2
3
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
+25%
-12%
+16%
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
+25%
-12%
+16%
Simple
Sur
mesure
Sécurisé
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
100%...
SAAS
ou
On-
Premises
Bug Trackers
Jira,
Redmine,
Lighthouse,
Github,
Assemble…
Compatibilité Applications tierces
Framewor...
Autres solutions
ANALYSEMONITORING
Temps
d’exécution des
requêtes
+
Profiling PHP
basique
ANALYSEMONITORING
PROBLÈME SOLUT...
Avant
optimisation
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
– 98% objets...
Avant
optimisation
Après
optimisation
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FON...
Après
optimisation
Avant
optimisation
PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FON...
http://www.codizy.com
Prochain SlideShare
Chargement dans…5
×

Methodologie et outils d optimisation php mysql

1 541 vues

Publié le

Méthodologie et outils d'optimisation PHP / MySQL lors des 3 phases du cycle de vie de vos applications :

1- Développement,
2- Mise en production,
3- Post Production

Pour toute information concernant Codizy :
@: http://www.codizy.com

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 541
Sur SlideShare
0
Issues des intégrations
0
Intégrations
280
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Methodologie et outils d optimisation php mysql

  1. 1. http://www.codizy.com
  2. 2. Méthodologie et outils d’optimisations PHP / MySQL
  3. 3. 3 phases dans le cycle de vie d’une application… DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  4. 4. Post Production Mise en production Développement DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION 13 2
  5. 5. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Développement1
  6. 6. Choisir le BON framework ! DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  7. 7. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Le gain financier sur le temps de développement ne peut pas toujours être compensé par un investissement dans des serveurs plus puissants.
  8. 8. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION 0 100 200 300 400 500 600 700 800 900
  9. 9. ATTENTION à l’utilisation des design patterns DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  10. 10. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Trouver le bon équilibre entre la mise en place de design pattern complexes et des classes épurées et difficiles à maintenir.
  11. 11. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  12. 12. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  13. 13. tests… tesTS… TESTS!!! DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  14. 14.  Jenkins  PHPUnit  Sélénium DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Prévoir dès le départ les tests unitaires et le système d’intégration continue :
  15. 15. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  16. 16. Utiliser une approche MVC DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  17. 17. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION L’approche Model / Vue / Contrôleur vous fera économisez beaucoup de temps lors du développement de votre application.
  18. 18. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION L’utilisation de Smarty / Twig / etc… ne devrait pas être problématique niveau performance si les caches sont bien configurés.
  19. 19. Optimiser JS & CSS DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  20. 20. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Lors de l’écriture du template HTML, prévoir de facilement minifier vos JS et CSS (en utilisant Google Minify par exemple)
  21. 21. Utiliser du cache DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  Cache local  Memcached / Redis
  22. 22. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Memcached / Redis : système clés  valeurs
  23. 23. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Trop de Cache… …tue le cache !
  24. 24. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  Latence réseau  Contrôler la taille du cache local … si il est stocké dans un array
  25. 25. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  26. 26. Détecter les endroits où les requêtes sont redondantes DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  27. 27. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  28. 28. L’application doit être replication aware DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  29. 29. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  Lectures sur les esclaves SQL  Ecritures sur le maitre
  30. 30. Attention aux problématiques de synchronisation Maitre / Esclave DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  31. 31. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  32. 32. SQL : penser dès le départ aux problèmes de scalabilités DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  33. 33. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  Il est compliqué de modifier la structure de la base si elle est de taille conséquente, sans interruption en production.  Attention à la concurrence des accès : => Le choix du type d’engine MySQL est très important : TokuDB > InnoDB > MyISAM
  34. 34. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Exemple : Détails d’exécution d’une requête SQL
  35. 35. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  36. 36. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Attention aux requêtes Innocentes mais Diaboliques !
  37. 37. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  38. 38. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  39. 39. Ne pas chercher à tout faire avec MySQL DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  40. 40. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  Recherche FullText => Sphinx, Solar, etc…  Recherche Geospatiale => SphinxQL  Pas de contrainte sur la fraicheur des données ? => NoSQL
  41. 41. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Le choix de la DB peut faciliter la maintenance système. Ex : SphinxQL intégré dans MariaDB.
  42. 42. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Différence de vitesse entre MySQL et Sphinx … sur une recherche Geo (proximité)
  43. 43. Feature complete ? Analyser les requêtes SQL… DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  44. 44. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  Toujours prévoir du temps pour l’optimisation des requêtes.  Apprendre à utiliser la commande EXPLAIN de MySQL
  45. 45. … et optimiser les bases de données DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  46. 46. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  47. 47. Mise en production2 DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  48. 48. Faire LES BON CHOIX à l’installation ! DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  49. 49. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Vérifier qu’il y a un cache d’opcode pour PHP
  50. 50. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Utiliser php-fpm avec apache 2 en mode worker, ou avec nginx
  51. 51. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Utiliser le gestionnaire de BDD qui correspond le mieux  SQL : percona, mysql, mariadb, postgresql…  NoSQL : MongoDB, Cassandra, CouchDB…
  52. 52. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Encore un peu de Cache  Utiliser un cache de type Varnish si certaines pages de votre contenu sont peu mises à jour.
  53. 53. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Tuner les paramètres  MySQL : my.cnf  Apache : désactivez keep-alive pour les scripts PHP et utilisez Nginx pour la gestion des images. Ajustez au mieux le nombre de processus IDLE !
  54. 54. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION Fonctionnement du Keep-ALive
  55. 55. Post Production 3 DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  56. 56. C’est en prod mais c’est pas fini ;) DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  57. 57. DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION  MySQL : Le comportement des utilisateurs réels peut être différent de ce que était prévu.  Le volume de la base de données peut changer la façon de se comporter de MySQL Analyser rapidement ce qui se passe sur la production
  58. 58. De quoi ai-je besoin ? DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  59. 59. Capturer les requêtes SQL  Percona toolkit,  NewRelic,  Codizy,  … DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  60. 60. Percona pt-query-digest DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  61. 61. New Relic DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  62. 62. Codizy DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  63. 63. Répartition des ressources  Monit,  Cacti,  RRD,  … DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  64. 64. Cacti DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  65. 65. Les ressources par type de pages, c’est encore mieux ! DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  66. 66. New Relic DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  67. 67. Codizy DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  68. 68. Codizy DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  69. 69. Informations Real User Monitoring DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  70. 70. Dyna Trace DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  71. 71. Codizy DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  72. 72. Système de collecte des erreurs PHP / MySQL DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  73. 73. Airbrake DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  74. 74. Codizy DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  75. 75. Codizy DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  76. 76. Conclusion Q & A DÉVELOPPEMENT MISE EN PRODUCTION CONCLUSIONROADMAP POST PRODUCTION
  77. 77. http://www.codizy.com
  78. 78. Codizy a créé un d’optimisation pour aider les développeurs à leurs applications PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
  79. 79. 100% applications RALENTISSEMENTS PANNES Subissent des PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
  80. 80. Codizy corrige PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
  81. 81. Monitoring1 2 3 PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
  82. 82. +25% -12% +16% PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS +25% -12% +16%
  83. 83. Simple Sur mesure Sécurisé PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS 100% Garantie
  84. 84. SAAS ou On- Premises Bug Trackers Jira, Redmine, Lighthouse, Github, Assemble… Compatibilité Applications tierces Frameworks Yii, Symfony2, Zend… CMS Wordpress, Drupal… eCommerce Magento, Prestashop, OS Commerce… Langages PHP… Autres à venir Agent (server)… Wrapper (Code)… ConnecteursOr BDD MySQL, MariaDB, Percona… Solutions SQL Requêtes Dupliquées Profiling Différentiel Solutions SQL Requêtes Dupliquées Requêtes SQL Profiling Requêtes SQL Schema SQL PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS
  85. 85. Autres solutions ANALYSEMONITORING Temps d’exécution des requêtes + Profiling PHP basique ANALYSEMONITORING PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS Temps d’exécution des requêtes + + Plan d’exécution des requêtes Profiling PHP détaillé OPTIMISATION + No
  86. 86. Avant optimisation PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS – 98% objets temporaires (MySQL) (ref = 200M requêtes / jour) Après optimisation
  87. 87. Avant optimisation Après optimisation PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS - 50% charge serveurs (MySQL) (ref = 200M requêtes / jour)
  88. 88. Après optimisation Avant optimisation PROBLÈME SOLUTION BÉNÉFICES INTÉGRATION CUSTOMISATION COMPÉTITION DÉMODÉFINITION FONCTIONS –50% charge serveurs front (PHP)
  89. 89. http://www.codizy.com

×