Architecture et scalabilité                                                                                   1© RBS 2012 ...
2                                                                                                  Programme    Programme ...
PrésentationProgrammePrésentation                Votre serviteurArchitecture                              ●    Community M...
ArchitectureProgramme                                                                            Serveur HTTP             ...
ArchitectureProgramme                   EnvironnementPrésentation                  ●       Stack LAMP et MAMP classiqueArc...
Préparation de lenvironnement : BDDProgrammePrésentationArchitecturePréparationInstallation                Moteurs support...
Préparation de lenvironnement : PHPProgramme                   VersionsPrésentation                  ●    5.3Architecture ...
Préparation de lenvironnement : HTTPProgramme                   Serveurs validésPrésentation                  ●    Apache ...
Préparation de lenvironnement : HTTP                                   <VirtualHost _default_:80>                         ...
Préparation de lenvironnement : SolRProgrammePrésentationArchitecturePréparationInstallation                ImplicationsSc...
11                                                                                    Installation de RBSChange     Progra...
12                                                                                    Installation de RBSChange     Progra...
13                                                                                                  Scalabilité ? Définiti...
14                                                                                             Gestion du cache     Progra...
15                                                                                             Configuration du cache     ...
16                                                                                                Performance     Programm...
17                                                                       Exemple période de soldes2010     Programme     P...
18                                                                                                   Année 2012     Progra...
19                                                                                             A propos de la sécurité    ...
20                                                                                             Problèmes courants     Prog...
QuestionsProgrammePrésentationArchitecturePréparationInstallationScalabilité ? DéfinitionGestion du cacheConfiguration du ...
ProgrammePrésentationArchitecturePréparationInstallationGestion du cache                                                  ...
Prochain SlideShare
Chargement dans…5
×

RBS Change - Architecture et scalabilité

1 016 vues

Publié le

RBS Change - Architecture et scalabilité workshop

Publié dans : Technologie
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 016
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Pour un projet assez volumineux JAVA_OPTS=&quot;-Xms512m&lt; -Xmx2048m&quot;
  • Memcache : Session à 600M Fcache à 2G Memcached : seconde version de Memcache
  • Memcache &amp; Memcached : * seconde version de Memcache Session à 600M Fcache à 2G WEB_CACHE_DIR = cache accessibles directement depuis le web
  • Pour un site réalisant entre 2000 et 3000 commandes/jour, un tunning de la base est envisageable Site portail culturel : - 110 000 visites/mois - 200 000 pages vues/mois - 1000 000 visiteurs/mois Extranet de commande BtoB : - 103 000 visites/mois - 686 000 pages vues/mois Site d’infos grand public multisite: - 961 000 visites/an - 4 millions de pages vue /an
  • RBS Change - Architecture et scalabilité

    1. 1. Architecture et scalabilité 1© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbs-software.fr
    2. 2. 2 Programme Programme Présentation Présentation Architecture Architecture Préparation Préparation de lenvironnement Installation Installation de RBSChange Scalabilité ? Définition Scalabilité ? Définition Gestion du cache Configuration du cache Gestion du cache Performance Configuration du cache Quelques exemple Performance A propos de sécurité Problèmes courants Quelques exemples Questions A propos de la sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    3. 3. PrésentationProgrammePrésentation Votre serviteurArchitecture ● Community Manager ● FormationPréparation ● SupportInstallation ● DocumentationScalabilité ? Définition RBSGestion du cache ● Existe depuis 1997Configuration du cache ● 135 salariés ● Infrastructure, Mobilité, ERP, WebPerformanceQuelques exemple RBS ChangeA propos de sécurité ● 2001 : Création de WebEditProblèmes courants ● 2004/2005 : Refactoring pragmatique ● 2006 : e-CommerceQuestions ● 2010 : Février 2010 libération du code © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    4. 4. ArchitectureProgramme Serveur HTTP Serveur HTTPPrésentationArchitecturePréparationInstallationScalabilité ? Définition Connecteurs Framework Modules ConnecteursGestion du cache Framework Modules API, WS... API, WS...Configuration du cachePerformanceQuelques exemple PHP 5 PHP 5A propos de sécuritéProblèmes courants SolR SolRQuestions Base de données Base de données Java Java Système dexploitation Système dexploitation © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    5. 5. ArchitectureProgramme EnvironnementPrésentation ● Stack LAMP et MAMP classiqueArchitecture ● Stack WAMP avec prérequis ● Environnement Java pour SolRPréparationInstallation Prérequis WAMPScalabilité ? Définition ● VistaGestion du cache ● Server 2008Configuration du cache => php.net/manual/en/function.symlink.phpPerformanceQuelques exempleA propos de sécurité SizingProblèmes courantsQuestions Hypothèse Serveur dédié ● Site normal ● 1 CPU, 2 cœurs ● Serveur dédié ● 4 G RAM ● 20 G disque © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    6. 6. Préparation de lenvironnement : BDDProgrammePrésentationArchitecturePréparationInstallation Moteurs supportésScalabilité ? Définition ● MySQL ● MariaDBGestion du cache ● Oracle (extension communautaire)Configuration du cachePerformance Configuration MySQL ● InnoDB activéQuelques exemple ● innodb_file_per_tableA propos de sécuritéProblèmes courantsQuestions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    7. 7. Préparation de lenvironnement : PHPProgramme VersionsPrésentation ● 5.3Architecture ● 5.4Préparation PaquetsInstallation ● php5 ● php5-cliScalabilité ? Définition ● php5-curlGestion du cache ● php5-gdConfiguration du cache ● php5mysql ● php5-xslPerformance ● (php5-imagick)Quelques exempleA propos de sécurité Configuration ● short_open_tag à offProblèmes courants ● magic_quotes_gpc à offQuestions ● memory_limit au minimum à 192M ● default_charset à utf-8 ● session.cache_limiter à " " ● post_max_size et upload_max_filesize © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    8. 8. Préparation de lenvironnement : HTTPProgramme Serveurs validésPrésentation ● Apache 2Architecture ● Zend Server ● CherokeePréparationInstallation Obligatoirement ● Activer la ré-écriture dURL (rewrite)Scalabilité ? Définition ● Le serveur doit pouvoir satteindreGestion du cacheConfiguration du cache Recommandés ● Activer la compression (deflate)Performance ● Permettre la modification des en-têtes (headers)Quelques exemple ● Gestion dexpiration du cache (expires)A propos de sécuritéProblèmes courants Côté vhosts ● Ajout des types XUL pour le back officeQuestions AddType application/vnd.mozilla.xul+xml .xul AddType text/xml .xbl Nous ne parlerons que du serveur Apache étant donné quil sagit du plus répandu © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    9. 9. Préparation de lenvironnement : HTTP <VirtualHost _default_:80> ServerName demo.local.rbschange.frProgramme AssignUserID demo demoPrésentation ServerAdmin demo@localhostArchitecture CustomLog /var/log/apache2/demo.local.rbschange.fr.log combinedPréparation # specific types for Change backoffice AddType application/x-xpinstall .xpiInstallation AddType application/vnd.mozilla.xul+xml .xul AddType text/xml .rdf .xblScalabilité ? Définition # Expires header ExpiresActive OnGestion du cache ExpiresByType image/gif A7200 ExpiresByType image/png A7200Configuration du cache ExpiresByType image/jpeg A7200 ExpiresByType text/css A7200Performance ExpiresByType text/javasript A7200 ExpiresByType application/x-javascript A7200 ExpiresByType application/x-shockwave-flash A7200Quelques exemple # Text data compressionA propos de sécurité AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/jsonProblèmes courants DeflateCompressionLevel 1 BrowserMatch ^Mozilla/4 gzip-only-text/htmlQuestions BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html DocumentRoot /home/demo/www <Directory /home/demo/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    10. 10. Préparation de lenvironnement : SolRProgrammePrésentationArchitecturePréparationInstallation ImplicationsScalabilité ? Définition ● JRE ● Un serveur applicatif (Tomcat ou Jetty)Gestion du cache ● Exposition publique facultativeConfiguration du cachePerformance Configuration de SolR ● Fichiers de configuration situés dansQuelques exemple « framework/config/solr/conf »A propos de sécurité ● En fonction de la volumétrie on peutProblèmes courants jouer sur les paramètres Xms et Xmx de la JVMQuestions Compatible SolR v1.4.1 / Incompatible SolR 3.0.x Tuning du GC de la JVM © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    11. 11. 11 Installation de RBSChange Programme Présentation Architecture Préparation Webinstaller Installation ● Fichier zip Scalabilité ? Définition Ligne de commande Gestion du cache ● Au minimum : Configuration du cache ● config Performance ● framework Quelques exemple ● themes ● change.properties A propos de sécurité ● change.xml Problèmes courants ● profile Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    12. 12. 12 Installation de RBSChange Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Exemples dinstallation : Configuration du cache ● Webinstaller ● Par la ligne de commande Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    13. 13. 13 Scalabilité ? Définition Programme Présentation Scalabilité Architecture Préparation En informatique matérielle et logicielle et en télécommunications, le mot anglais scalability désigne Installation la capacité dun produit à sadapter à un changement Scalabilité ? Définition dordre de grandeur de la demande (montée en charge). Gestion du cache En particulier sa capacité à maintenir ses fonctionnalités et ses performances en cas de forte demande. Configuration du cache Performance ... Quelques exemple A propos de sécurité La « scalabilité » peut faire référence à la capacité d’un système à accroître sa capacité de calcul sous une charge accrue quand Problèmes courants des ressources (généralement du matériel) sont ajoutées. Questions … Source : Wikipédia (fr.wikipedia.org/wiki/Scalabilité) © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    14. 14. 14 Gestion du cache Programme Présentation Architecture Préparation But Installation ● Diminuer le temps de traitement et la charge côté serveur Scalabilité ? Définition Gestion du cache Leviers Configuration du cache ● Apache (module expires) ● Cache dopcode Performance ● Reverse proxy-cache Quelques exemple ● Cache Mongo A propos de sécurité ● Cache de fichiers Problèmes courants Questions Pas de validation avec MySQL Proxy © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    15. 15. 15 Configuration du cache Programme Activation cache : ● Fichier project.xml Présentation … <config> Architecture … Préparation <injection> <entry name="f_DataCacheService">f_DataCacheFileService</entry> Installation </injection> … Scalabilité ? Définition Gestion du cache Granularité du cache Configuration du cache ● Durée de vie configurable Performance ● Complet ● Cache de bloc débrayable Quelques exemple ● Cache de données indépendant et débrayable A propos de sécurité <define name="CHANGE_CACHE_DIR">...</define> <define name="CHANGE_CACHE_PDF">...</define> Problèmes courants <define name="AG_DISABLE_BLOCK_CACHE">...</define> <define name="AG_DISABLE_SIMPLECACHE">...</define> Questions <define name="CHANGE_CACHE_MAX_TIME">...</define> <define name="CHANGE4_CACHE_SERVICE_CLASS">...</define> <define name="DISABLE_DATACACHE">...</define> Les services de gestion du cache sont disponibles dans «framework/cache/*Service.php» Pour voir les configuration du cache «framework/config/project.xml» © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    16. 16. 16 Performance Programme Présentation Architecture Préparation Leviers Installation ● Système de cache Scalabilité ? Définition ● Proxy-cache ● Base de données (index) Gestion du cache ● Mode cluster Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    17. 17. 17 Exemple période de soldes2010 Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    18. 18. 18 Année 2012 Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    19. 19. 19 A propos de la sécurité Programme Présentation Architecture De base ● Développements noyau testés Préparation ● PDO utilisation de « prepared statements » et de requêtes Installation paramétrées Scalabilité ? Définition Coût en temps de paramétrage Gestion du cache ● Possibilité de mettre en place un WAF Configuration du cache ● Incompatible avec le module Apache security (config de base) Performance A vos risques et périls Quelques exemple ● Installer des modules à partir de sites non officiels A propos de sécurité Problèmes courants Questions + = Plus dinfo sur PDO et linjection SQL sur StackOverflow Plus dinformation sur NAXSI : http://code.google.com/p/naxsi/ © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    20. 20. 20 Problèmes courants Programme Présentation Architecture Préparation Installation Scalabilité ? Définition ● Gestion des droits niveau système Gestion du cache ● Serveur qui narrive pas à se résoudre Configuration du cache Performance ● Modification du paramètre open_basedir Quelques exemple ● « Too many open files » pour SolR A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    21. 21. QuestionsProgrammePrésentationArchitecturePréparationInstallationScalabilité ? DéfinitionGestion du cacheConfiguration du cachePerformanceQuelques exempleA propos de sécuritéProblèmes courantsQuestions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
    22. 22. ProgrammePrésentationArchitecturePréparationInstallationGestion du cache MERCIConfiguration du cachePerformanceQuelques exempleA propos de sécuritéProblèmes courantsQuestions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr

    ×