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. 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
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. »
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. 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. 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. 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
17. 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
22. 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
23.
24. 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
25. Performance serveur et
Apache
Analyses de « log »
« Fail2ban »
[Definition]
_daemon = wordpress
failregex = ^<HOST> - -.*"[POST|GET].*wp-login.php.*
Test de performance
26. 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
28. 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
29. 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
31. 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% )