Weitere ähnliche Inhalte Ähnlich wie RBS Change - Architecture et scalabilité (20) RBS Change - Architecture et scalabilité2. 2
Programme
Programme Présentation
Présentation
Architecture
Architecture
Préparation Préparation de l'environnement
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. Présentation
Programme
Présentation Votre serviteur
Architecture
● Community Manager
● Formation
Préparation ● Support
Installation ● Documentation
Scalabilité ? Définition
RBS
Gestion du cache ● Existe depuis 1997
Configuration du cache ● 135 salariés
● Infrastructure, Mobilité, ERP, Web
Performance
Quelques exemple
RBS Change
A propos de sécurité ● 2001 : Création de WebEdit
Problèmes courants
● 2004/2005 : Refactoring pragmatique
● 2006 : e-Commerce
Questions ● 2010 : Février 2010 libération du code
© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
4. Architecture
Programme
Serveur HTTP
Serveur HTTP
Présentation
Architecture
Préparation
Installation
Scalabilité ? Définition Connecteurs
Framework Modules Connecteurs
Gestion du cache Framework Modules API, WS...
API, WS...
Configuration du cache
Performance
Quelques exemple
PHP 5
PHP 5
A propos de sécurité
Problèmes courants SolR
SolR
Questions Base de données
Base de données
Java
Java
Système d'exploitation
Système d'exploitation
© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
5. Architecture
Programme Environnement
Présentation ● Stack LAMP et MAMP classique
Architecture
● Stack WAMP avec prérequis
● Environnement Java pour SolR
Préparation
Installation
Prérequis WAMP
Scalabilité ? Définition ● Vista
Gestion du cache ● Server 2008
Configuration du cache
=> php.net/manual/en/function.symlink.php
Performance
Quelques exemple
A propos de sécurité
Sizing
Problèmes courants
Questions 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. Préparation de l'environnement : BDD
Programme
Présentation
Architecture
Préparation
Installation Moteurs supportés
Scalabilité ? Définition ● MySQL
● MariaDB
Gestion du cache ● Oracle (extension communautaire)
Configuration du cache
Performance Configuration MySQL
● InnoDB activé
Quelques exemple ● innodb_file_per_table
A propos de sécurité
Problèmes courants
Questions
© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
7. Préparation de l'environnement : PHP
Programme Versions
Présentation ● 5.3
Architecture
● 5.4
Préparation Paquets
Installation ● php5
● php5-cli
Scalabilité ? Définition ● php5-curl
Gestion du cache ● php5-gd
Configuration du cache
● php5mysql
● php5-xsl
Performance ● (php5-imagick)
Quelques exemple
A propos de sécurité Configuration
● short_open_tag à off
Problèmes courants ● magic_quotes_gpc à off
Questions ● 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. Préparation de l'environnement : HTTP
Programme Serveurs validés
Présentation ● Apache 2
Architecture
● Zend Server
● Cherokee
Préparation
Installation Obligatoirement
● Activer la ré-écriture d'URL (rewrite)
Scalabilité ? Définition
● Le serveur doit pouvoir s'atteindre
Gestion du cache
Configuration du cache Recommandés
● Activer la compression (deflate)
Performance
● Permettre la modification des en-têtes (headers)
Quelques exemple ● Gestion d'expiration du cache (expires)
A propos de sécurité
Problèmes courants Côté vhosts
● Ajout des types XUL pour le back office
Questions
AddType application/vnd.mozilla.xul+xml .xul
AddType text/xml .xbl
Nous ne parlerons que du serveur Apache étant donné qu'il s'agit du plus
répandu
© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
9. Préparation de l'environnement : HTTP
<VirtualHost _default_:80>
ServerName demo.local.rbschange.fr
Programme
AssignUserID demo demo
Présentation
ServerAdmin demo@localhost
Architecture CustomLog /var/log/apache2/demo.local.rbschange.fr.log combined
Préparation # specific types for Change backoffice
AddType application/x-xpinstall .xpi
Installation AddType application/vnd.mozilla.xul+xml .xul
AddType text/xml .rdf .xbl
Scalabilité ? Définition # Expires header
ExpiresActive On
Gestion du cache ExpiresByType image/gif A7200
ExpiresByType image/png A7200
Configuration du cache ExpiresByType image/jpeg A7200
ExpiresByType text/css A7200
Performance ExpiresByType text/javasript A7200
ExpiresByType application/x-javascript A7200
ExpiresByType application/x-shockwave-flash A7200
Quelques exemple
# Text data compression
A propos de sécurité AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript
application/json
Problèmes courants DeflateCompressionLevel 1
BrowserMatch ^Mozilla/4 gzip-only-text/html
Questions 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. Préparation de l'environnement : SolR
Programme
Présentation
Architecture
Préparation
Installation Implications
Scalabilité ? Définition ● JRE
● Un serveur applicatif (Tomcat ou Jetty)
Gestion du cache ● Exposition publique facultative
Configuration du cache
Performance Configuration de SolR
● Fichiers de configuration situés dans
Quelques exemple
« framework/config/solr/conf »
A propos de sécurité ● En fonction de la volumétrie on peut
Problèmes courants jouer sur les paramètres Xms et Xmx de la JVM
Questions
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
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
Installation de RBSChange
Programme
Présentation
Architecture
Préparation
Installation
Scalabilité ? Définition
Gestion du cache Exemples d'installation :
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
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é d'un produit à s'adapter à un changement
Scalabilité ? Définition d'ordre 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
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 d'opcode
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
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
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
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
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
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 d'info sur PDO et l'injection SQL sur StackOverflow
Plus d'information sur NAXSI : http://code.google.com/p/naxsi/
© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
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 n'arrive 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
Hinweis der Redaktion Pour un projet assez volumineux JAVA_OPTS="-Xms512m< -Xmx2048m" Memcache : Session à 600M Fcache à 2G Memcached : seconde version de Memcache Memcache & 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