SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Performance serveur et
Apache
William Agasvari
Co-fondateur de
Solution d’hébergement Open source professionnel
20 janvier 2015 – Ecole 42 - AFUP
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
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
Performance serveur et
Apache
Performance serveur et
Apache
Test de
performance
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.  »
Performance serveur et
Apache
«l'expérience »
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
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
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
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
Performance serveur et
Apache
Retour à notre
Expérience avec
Siege !
Test de performance
Performance serveur et
Apache
Stresser Apache
avec des pages
statiques
Test de performance
Performance serveur et
Apache
Stresser Apache
avec des pages
dynamiques
complexe
Test de performance
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
Performance serveur et
Apache
Que faire ?
Test de performance
Performance serveur et
Apache
Solutions
Test de performance
Performance serveur et
Apache
Politique
de temporisation
d’accés
Test de performance
Performance serveur et
Apache
• Modules apache
• Règles « pare-feu »
• Analyses de « log »
Test de performance
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
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
Performance serveur et
Apache
Analyses de « log »
« Fail2ban »
[Definition]
_daemon = wordpress
failregex = ^<HOST> - -.*"[POST|GET].*wp-login.php.*
Test de performance
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
Performance serveur et
Apache
Solution
•Politique de temporisation
d’accés / QOS
•Création serveur reverse Proxy
Test de performance
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
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
Performance serveur et
Apache
Solution
Squid
Nginx
Varnish
Test de performance
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% )
Performance serveur et
Apache
Test de performance
Reverse Proxy
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
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
Test de performance
Performance serveur et
Apache
Questions ?
Test de performance
Performance serveur et Apache
The End
Solution d’hébergement Open source professionnel
20 janvier 2015 – Ecole 42 - AFUP

Mais conteúdo relacionado

Destaque

Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages webJean-Pierre Vincent
 
Get Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP StreamsGet Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP StreamsDavey Shafik
 
Automation using-phing
Automation using-phingAutomation using-phing
Automation using-phingRajat Pandit
 
Electrify your code with PHP Generators
Electrify your code with PHP GeneratorsElectrify your code with PHP Generators
Electrify your code with PHP GeneratorsMark Baker
 
The quest for global design principles (SymfonyLive Berlin 2015)
The quest for global design principles (SymfonyLive Berlin 2015)The quest for global design principles (SymfonyLive Berlin 2015)
The quest for global design principles (SymfonyLive Berlin 2015)Matthias Noback
 
Top tips my_sql_performance
Top tips my_sql_performanceTop tips my_sql_performance
Top tips my_sql_performanceafup Paris
 
Why elasticsearch rocks!
Why elasticsearch rocks!Why elasticsearch rocks!
Why elasticsearch rocks!tlrx
 
Understanding Craftsmanship SwanseaCon2015
Understanding Craftsmanship SwanseaCon2015Understanding Craftsmanship SwanseaCon2015
Understanding Craftsmanship SwanseaCon2015Marcello Duarte
 
Si le tdd est mort alors pratiquons une autopsie mix-it 2015
Si le tdd est mort alors pratiquons une autopsie mix-it 2015Si le tdd est mort alors pratiquons une autopsie mix-it 2015
Si le tdd est mort alors pratiquons une autopsie mix-it 2015Bruno Boucard
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLGabriele Bartolini
 
L'ABC du BDD (Behavior Driven Development)
L'ABC du BDD (Behavior Driven Development)L'ABC du BDD (Behavior Driven Development)
L'ABC du BDD (Behavior Driven Development)Arnauld Loyer
 
TDD with PhpSpec - Lone Star PHP 2016
TDD with PhpSpec - Lone Star PHP 2016TDD with PhpSpec - Lone Star PHP 2016
TDD with PhpSpec - Lone Star PHP 2016CiaranMcNulty
 
The Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsThe Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsRyan Weaver
 

Destaque (20)

Amongst models
Amongst modelsAmongst models
Amongst models
 
Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages web
 
Elastic Searching With PHP
Elastic Searching With PHPElastic Searching With PHP
Elastic Searching With PHP
 
Get Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP StreamsGet Soaked - An In Depth Look At PHP Streams
Get Soaked - An In Depth Look At PHP Streams
 
Diving deep into twig
Diving deep into twigDiving deep into twig
Diving deep into twig
 
PHP5.5 is Here
PHP5.5 is HerePHP5.5 is Here
PHP5.5 is Here
 
Automation using-phing
Automation using-phingAutomation using-phing
Automation using-phing
 
Electrify your code with PHP Generators
Electrify your code with PHP GeneratorsElectrify your code with PHP Generators
Electrify your code with PHP Generators
 
The quest for global design principles (SymfonyLive Berlin 2015)
The quest for global design principles (SymfonyLive Berlin 2015)The quest for global design principles (SymfonyLive Berlin 2015)
The quest for global design principles (SymfonyLive Berlin 2015)
 
Top tips my_sql_performance
Top tips my_sql_performanceTop tips my_sql_performance
Top tips my_sql_performance
 
Mocking Demystified
Mocking DemystifiedMocking Demystified
Mocking Demystified
 
Why elasticsearch rocks!
Why elasticsearch rocks!Why elasticsearch rocks!
Why elasticsearch rocks!
 
Understanding Craftsmanship SwanseaCon2015
Understanding Craftsmanship SwanseaCon2015Understanding Craftsmanship SwanseaCon2015
Understanding Craftsmanship SwanseaCon2015
 
Si le tdd est mort alors pratiquons une autopsie mix-it 2015
Si le tdd est mort alors pratiquons une autopsie mix-it 2015Si le tdd est mort alors pratiquons une autopsie mix-it 2015
Si le tdd est mort alors pratiquons une autopsie mix-it 2015
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQL
 
L'ABC du BDD (Behavior Driven Development)
L'ABC du BDD (Behavior Driven Development)L'ABC du BDD (Behavior Driven Development)
L'ABC du BDD (Behavior Driven Development)
 
TDD with PhpSpec - Lone Star PHP 2016
TDD with PhpSpec - Lone Star PHP 2016TDD with PhpSpec - Lone Star PHP 2016
TDD with PhpSpec - Lone Star PHP 2016
 
Caching on the Edge
Caching on the EdgeCaching on the Edge
Caching on the Edge
 
Behat 3.0 meetup (March)
Behat 3.0 meetup (March)Behat 3.0 meetup (March)
Behat 3.0 meetup (March)
 
The Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsThe Wonderful World of Symfony Components
The Wonderful World of Symfony Components
 

Semelhante a Performance serveur et apache

Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1Marc Bojoly
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesosebiznext
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Olivier Gutknecht
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
Load test & performance profiling
Load test & performance profilingLoad test & performance profiling
Load test & performance profilingMSDEVMTL
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 
Alphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft HyperconvergenceAlphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft HyperconvergenceAlphorm
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EEAntonio Gomes Rodrigues
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Steven VAN POECK
 
Architecture sap web AS
Architecture sap web ASArchitecture sap web AS
Architecture sap web ASMrabtei Ayoub
 
Architecture SAP Web AS
Architecture SAP Web ASArchitecture SAP Web AS
Architecture SAP Web ASMrabtei Ayoub
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...sametmax
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-endClément Dubois
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endFrançois Petitit
 

Semelhante a Performance serveur et apache (20)

Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesos
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
Load test & performance profiling
Load test & performance profilingLoad test & performance profiling
Load test & performance profiling
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 
Alphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft HyperconvergenceAlphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft Hyperconvergence
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EE
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?
 
Architecture sap web AS
Architecture sap web ASArchitecture sap web AS
Architecture sap web AS
 
Architecture SAP Web AS
Architecture SAP Web ASArchitecture SAP Web AS
Architecture SAP Web AS
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
 
Optimiser wordpress
Optimiser wordpressOptimiser wordpress
Optimiser wordpress
 

Performance serveur et apache

  • 1. Performance serveur et Apache William Agasvari Co-fondateur de Solution d’hébergement Open source professionnel 20 janvier 2015 – Ecole 42 - AFUP
  • 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
  • 12. Performance serveur et Apache Retour à notre Expérience avec Siege ! Test de performance
  • 13. Performance serveur et Apache Stresser Apache avec des pages statiques Test de performance
  • 14.
  • 15. Performance serveur et Apache Stresser Apache avec des pages dynamiques complexe Test de performance
  • 16.
  • 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
  • 18. Performance serveur et Apache Que faire ? Test de performance
  • 20. Performance serveur et Apache Politique de temporisation d’accés Test de performance
  • 21. Performance serveur et Apache • Modules apache • Règles « pare-feu » • Analyses de « log » 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
  • 27. Performance serveur et Apache Solution •Politique de temporisation d’accés / QOS •Création serveur reverse Proxy 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% )
  • 32. Performance serveur et Apache Test de performance Reverse Proxy
  • 33. 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
  • 34. 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
  • 37. Performance serveur et Apache The End Solution d’hébergement Open source professionnel 20 janvier 2015 – Ecole 42 - AFUP