Performance serveur et apache

1 351 vues

Publié le

Présentation effectuée au Rendez-vous de l'AFUP Paris le 20 janvier 2015 par William Agasvari / D4

Publié dans : Internet
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 351
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Performance serveur et apache

  1. 1. Performance serveur et Apache William Agasvari Co-fondateur de Solution d’hébergement Open source professionnel 20 janvier 2015 – Ecole 42 - AFUP
  2. 2. Performance serveur et Apache Le principal problème matériel qui affecte les performances du serveur web est la mémoire vive. Un serveur web ne devrait jamais avoir à utiliser le swap, car le swapping augmente le temps de réponse de chaque requête ! Fondamentale
  3. 3. Performance serveur et Apache La lenteur du serveur web incitera les utilisateurs à cliquer sur "Stop", puis "Charger à nouveau", ce qui a pour effet d'augmenter encore la charge du serveur. Et le résultat ? Fondamentale
  4. 4. Performance serveur et Apache
  5. 5. Performance serveur et Apache Test de performance
  6. 6. Performance serveur et Apache « le processeur, la carte réseau et les disques doivent être suffisamment rapides, où "suffisamment rapide" doit être déterminé par l'expérience.  »
  7. 7. Performance serveur et Apache «l'expérience »
  8. 8. Performance serveur et Apache Étape 1 : Analyse de Référence •Définir le système à tester, les objectifs (métiers, techniques, économiques). •Définir les scénarios, par rapport à une analyse complète des risques métiers et techniques. •Définir le modèle de charge, par rapport au modèle d'usage de l'application. Étape 2 : Tests Préliminaires •Mettre en œuvre des moyens et définir la plate-forme de test. •Exécuter les tests de charge. •Analyser les résultats. Test de performance
  9. 9. Performance serveur et Apache Étape 3 : Test de Charge à Grande Échelle •Mettre en œuvre des moyens et définir la plate-forme de test. •Exécuter les tests de charge. •Analyser les résultats. •Optimiser le système. Test de performance
  10. 10. Performance serveur et Apache Les outils pour notre expérience •Un serveur Web virtuel avec LAMP. •Un site web statique et dynamique ( php , cgi , perl ). •Un serveur virtuel Client avec l’application « Siege ». Test de performance
  11. 11. Performance serveur et Apache Siege est un outil permettant de faire du benchmark de votre site web en simulant un grand nombre de connexions simultanées. Il permet ainsi de tester la montée en charge de vos applications web. siege -d1 –c30 -t1m http://mon-site-web:80/ Test de performance
  12. 12. Performance serveur et Apache Retour à notre Expérience avec Siege ! Test de performance
  13. 13. Performance serveur et Apache Stresser Apache avec des pages statiques Test de performance
  14. 14. Performance serveur et Apache Stresser Apache avec des pages dynamiques complexe Test de performance
  15. 15. Performance serveur et Apache Analyse du résultât • CPU chargé •Mémoire saturée •Charge processus importante •Arrêt critique du serveur  Test de performance
  16. 16. Performance serveur et Apache Que faire ? Test de performance
  17. 17. Performance serveur et Apache Solutions Test de performance
  18. 18. Performance serveur et Apache Politique de temporisation d’accés Test de performance
  19. 19. Performance serveur et Apache • Modules apache • Règles « pare-feu » • Analyses de « log » Test de performance
  20. 20. Performance serveur et Apache APACHE « Module evasive » Mod_evasive est un module Apache pour contrer les attaques DOS. Celui-ci est capable de détecter lorsqu'un utilisateur demande un trop grand nombre de pages sur un site web, sur un délai de temps très court. Test de performance
  21. 21. Performance serveur et Apache Analyses de « log » « Fail2ban » Fail2ban est un framework de prévention contre les intrusions, écrit en Python. Il fonctionne sur les systèmes POSIX possédant une interface de contrôle des paquets (tel que TCP Wrapper) ou un pare-feu (tel que Netfilter). Test de performance
  22. 22. Performance serveur et Apache Analyses de « log » « Fail2ban » [Definition] _daemon = wordpress failregex = ^<HOST> - -.*"[POST|GET].*wp-login.php.* Test de performance
  23. 23. Performance serveur et Apache Analyses de « log » « Fail2ban » [apache-wp-login] enabled = true port = http,https filter = wp-login logpath = /var/log/apache2/fail2ban_track.log findtime = 30 maxretry = 10 bantime = 1800 Test de performance
  24. 24. Performance serveur et Apache Solution •Politique de temporisation d’accés / QOS •Création serveur reverse Proxy Test de performance
  25. 25. Performance serveur et Apache Solution QOS TC ( trafic control ) une application transmet des données, le noyau prépare le paquet, le filtre et le place dans la file d’attente appropriée, le gestionnaire vide cette file d’attente et envoie sur la carte réseau en fonction de son algorithme Test de performance
  26. 26. Performance serveur et Apache TC ( trafic control ) + Iptables /sbin/tc class add dev eth0 parent 1:1 classid 1:5 htb rate 512kbps ceil 640kbps prio 1 /sbin/tc class add dev eth0 parent 1:1 classid 1:6 htb rate 100kbps ceil 160kbps prio 0 … /sbin/iptables -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 5 /sbin/iptables -A INPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 5 /sbin/iptables -A OUTPUT -t mangle -p tcp --sport 22 -j MARK --set-mark 6 Test de performance
  27. 27. Performance serveur et Apache Solution Squid Nginx Varnish Test de performance
  28. 28. Performance serveur et Apache Test de performance Nginx est un reverse proxy ( http, Mail ) Igor Sysoev a commencé à le développer en 2002 pour un site russe à fort trafic ( 6,5% )
  29. 29. Performance serveur et Apache Test de performance Reverse Proxy
  30. 30. Performance serveur et Apache location / { proxy_pass http://192.168.1.18:8080; proxy_cache my-cache; proxy_cache_valid 5s; expires 10s; … proxy_cache_use_stale error timeout invalid_header updating; } location ~*^.+ (swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ { #proxy_pass http://www.grevok.com:8080; proxy_pass http://192.168.1.18:8080; proxy_cache my-cache; proxy_cache_valid 1m; expires max; limit_req zone=traffic-control burst=5; } Test de performance Cache de données
  31. 31. Performance serveur et Apache # www limit_req_zone $binary_remote_addr zone=traffic-control:10m rate=25r/s; limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m; location / { #proxy_pass http://www.grevok.com:8080; proxy_pass http://192.168.1.18:8080; proxy_cache my-cache; proxy_cache_valid 5s; expires 10s; limit_req zone=traffic-control burst=5; limit_conn conn_limit_per_ip 25; limit_conn slimits 25; proxy_cache_use_stale error timeout invalid_header updating; } Test de performance Limitation d’accés
  32. 32. Test de performance
  33. 33. Performance serveur et Apache Questions ? Test de performance
  34. 34. Performance serveur et Apache The End Solution d’hébergement Open source professionnel 20 janvier 2015 – Ecole 42 - AFUP

×