Sécurité et performanceSecurity and performanceSOLDES: N’embouteillez pas vos clients dans vos rayons !<br />
Sébastien Lucas<br />Directeur associé Oxalide<br />slu@oxalide.com<br />Qui sommes nous ?About us ?<br />Rémi Gaillard<br...
Infogérance, design et conception d’infrastructure,Infrastructure Design, Hosting & Facilities management,<br />Surveillan...
Etude de cas : BebeoUse case : Bebeo<br />3 boutiques <br />stores              <br />Z-enfant, 	   Tartine et Chocolat ,	...
Utilisez la dernière version stable de PrestaShopUse the last stable version of PrestaShop<br />Supprimez ou désactivez le...
Statique : qui n’est pas dynamique<br />Static : whichis not dynamic<br />Rendez statiques un maximum d’éléments :<br />Pa...
Vider les tables de statistiquesTruncatestatisticstables<br />Supprimer les paniers inutilisésRemoveunusedcarts<br />Suppr...
Un design d’architecture scalable & fiableDesigned for scalability & reliability<br />Séparation des couches applicatives ...
Optimisez le contenu statiqueThinkstatic as much as youcan<br />
Utilisez des serveurs de caches,Use reverse proxieswith a tunedpolicy,<br />Séparez HTML, JS et CSS sur des noms de domain...
Configuration optimisée d’apache et de PHP (faible empreinte mémoire, adapté pour une trafic élevé, …)Finetuned apache and...
Charge : Augmentez le nombre de frontauxWhenneeded : Use yourscalability<br />< 10 000 utilisateurs<br />
<ul><li>Augmentez le nombre de frontaux pour augmenter la capacité de traitementIncrease the number of yourfront-ends
Utilisez des frontaux virtuels pour les moments clés (Soldes, Fêtes, etc.)Use virtual « on demand » servers for yourkey mo...
Attention au goulot d’étranglement sur le Master BDDRemainalert as to the behavior of yourdatabase</li></li></ul><li>Utili...
Classe Db  :<br />privatestatic$_servers = array(   <br />array('server' => _DB_SERVER_, 'user' => _DB_USER_, <br />'passw...
Lecture instantanée (panier,commandes…),Instant reading (cart,orders…)
Lecture (Catalogue, produits..)Reading(Catalog, products…)</li></li></ul><li>Charge : Scalabilité 					des slavesLoad : Sc...
Upcoming SlideShare
Loading in...5
×

Sécurité et performance, comment bien optimiser PrestaShop

6,691

Published on

Sécurité et performance, comment bien optimiser PrestaShop - Oxalide & Rémi Gaillard
Security and performance, how to optimize PrestaShop - Oxalide & Rémi Gaillard

Published in: Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,691
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Sécurité et performance, comment bien optimiser PrestaShop

  1. 1. Sécurité et performanceSecurity and performanceSOLDES: N’embouteillez pas vos clients dans vos rayons !<br />
  2. 2.
  3. 3.
  4. 4. Sébastien Lucas<br />Directeur associé Oxalide<br />slu@oxalide.com<br />Qui sommes nous ?About us ?<br />Rémi Gaillard<br />Développeur PrestaShop<br />remi.gaillard@prestashop.com<br />
  5. 5. Infogérance, design et conception d’infrastructure,Infrastructure Design, Hosting & Facilities management,<br />Surveillance 24x7 proactive,24x7 monitoring,<br />Optimisation et troubleshooting,Fine tuning and troubleshooting,<br />Hébergeur de Prestashop et de ses clients depuis 2007Host of Prestashop & customerssince 2007<br />Oxalide team<br />
  6. 6. Etude de cas : BebeoUse case : Bebeo<br />3 boutiques <br />stores <br />Z-enfant, Tartine et Chocolat , Melijoe<br />Un catalogue de plusieurs dizaines de milliers de produitsTens of thousands of products<br />Plusieurs milliers de ventespar jours Several thousands of sales per day<br />Une multiplication du trafic par 10 pendant les soldesTraffic increase by 10 during sales<br />
  7. 7. Utilisez la dernière version stable de PrestaShopUse the last stable version of PrestaShop<br />Supprimez ou désactivez les modules et fonctionnalités non utiliséesRemove or disable unused modules and features<br />Désactivez le module de statistiques et utilisez un outil externe (Google Analytics, Weborama, ...)Disable the statistics module and use external tool (Google Analytics, Weborama, ...)<br />Configurez au mieux PrestaShopPrestaShop Configuration<br />
  8. 8. Statique : qui n’est pas dynamique<br />Static : whichis not dynamic<br />Rendez statiques un maximum d’éléments :<br />Page d’accueilLanding page<br />Page d’erreur 404404 error<br />Liste des catégoriesCategory listing<br />…<br />La clé de la performance : pensez statique!Improve performance: thinkstatic!<br />
  9. 9. Vider les tables de statistiquesTruncatestatisticstables<br />Supprimer les paniers inutilisésRemoveunusedcarts<br />Supprimer les bons de réduction expirésRemoveexpired discounts<br />Contenu de la base de donnéesDatabase content<br />
  10. 10. Un design d’architecture scalable & fiableDesigned for scalability & reliability<br />Séparation des couches applicatives (Cache, PHP et BDD),Separatelayers : caching, PHP & Databases<br />Penser scalabilitéThinkscalable<br />Répartition de chargeImplementloadbalancing for multiple front-ends<br />
  11. 11. Optimisez le contenu statiqueThinkstatic as much as youcan<br />
  12. 12. Utilisez des serveurs de caches,Use reverse proxieswith a tunedpolicy,<br />Séparez HTML, JS et CSS sur des noms de domaines différents,Separate HTML, Jscript & CSS on dedicated FQDN,<br />Optimisez la délivrance du contenu statique avec un Webserver optimisé (Lighttpd ou nginx),Dedicate a specific and fine tuned web server to deliverstatic contents,<br />Maximisez l’utilisation du cache du navigateurFeel confortable using browser caching<br />
  13. 13. Configuration optimisée d’apache et de PHP (faible empreinte mémoire, adapté pour une trafic élevé, …)Finetuned apache and php configuration (lowmemoryfingerprint, reliablebehaviour on highamount of trafic)<br />Utilisez un système de cache d’opcode PHP (APC ou eAccelerator)Use an opcodecaching system for PHP (APC or eAccelerator)<br />Implémentez un politique de Rewriting d’url statiqueUse a staticpolicy for the Url Rewriting rules<br />Optimisez MySQL pour pourInnoDBFinetune MySQL for InnoDB<br />Configuration serveur orientée performanceFinetune system & services<br />
  14. 14. Charge : Augmentez le nombre de frontauxWhenneeded : Use yourscalability<br />< 10 000 utilisateurs<br />
  15. 15. <ul><li>Augmentez le nombre de frontaux pour augmenter la capacité de traitementIncrease the number of yourfront-ends
  16. 16. Utilisez des frontaux virtuels pour les moments clés (Soldes, Fêtes, etc.)Use virtual « on demand » servers for yourkey moments (sales, …)
  17. 17. Attention au goulot d’étranglement sur le Master BDDRemainalert as to the behavior of yourdatabase</li></li></ul><li>Utiliser un serveur esclaveUse slave server<br />> 10 000 utilisateurs<br />
  18. 18. Classe Db :<br />privatestatic$_servers = array( <br />array('server' => _DB_SERVER_, 'user' => _DB_USER_, <br />'password' => _DB_PASSWD_, 'database' => _DB_NAME_), <br />array('server' => '192.168.0.3', 'user' => 'myuser', 'password' => 'mypassword', 'database' => 'mydatabase'));<br />Séparation des requêtes:Split queries:<br /><ul><li>Ecriture (insert, update),Writing
  19. 19. Lecture instantanée (panier,commandes…),Instant reading (cart,orders…)
  20. 20. Lecture (Catalogue, produits..)Reading(Catalog, products…)</li></li></ul><li>Charge : Scalabilité des slavesLoad : Scalabilityof slaves<br /> Classe Db<br />Ou<br />Utiliser un load balancer<br />Use a transparent load balancer<br />
  21. 21. Screencast<br />
  22. 22. Des questions?Questions ?<br />

×