optimisation-T3UNI11

Download Report

Transcript optimisation-T3UNI11

Optimiser les performances
de Typo3
29.06.2011
Pierre Dudoret <[email protected]>
Pierre Dudoret (aka Popy)
Ingénieur de développement
Groupe Belink
Profil : Expert TYPO3
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Introduction
Objectifs
Principes
Exploiter les ressources disponibles
Apache :
<IfModule prefork.c>
StartServers
8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients
256
MaxRequestsPerChild 4000
</IfModule>
T3UNI 2011
Optimiser les performances de Typo3
Mysql :
max_connections = 256
29.06.2011
Les Ressources
CPU
Bande Passante
Mémoire vive
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Optimisation CPU
MySQL : les index
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Configuration des caches
Utilisation de « memcached » pour les caches Typo3
$TYPO3_CONF_VARS['SYS']['caching']['cacheBackendAssignments'] = array(
'cache_pages' => array(
'backend' => 't3lib_cache_backend_Memcached',
'options' => array(
'servers' => array('localhost:11211'),
)
),
);
Source : http://dmitry-dulepov.com/article/how-to-enable-memcached-cache-in-typo3-43.html
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Configuration des caches
Caches de requête SQL
query_cache_size = 64M
query_cache_type = 1 (activé pour toutes les requêtes)
query_cache_type = 2 (à la demande, avec SELECT SQL_CACHE)
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Optimiseur de code (APC)
apc.enabled = 1
apc.cache_by_default = 0
apc.filters = "+(^|/)(typo3|t3lib)/.*"
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Optimisation Bande passante
Compression des fichiers
Pages générées par Typo3
$TYPO3_CONF_VARS['FE']['compressionLevel'] = 7;
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Compression des fichiers
Fichiers statiques (css, javascript, …)
DeflateCompressionLevel 7
<IfModule mod_deflate.c>
<Location />
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
</IfModule>
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Utilisation du cache navigateur
Configuration du module « mod expires » de apache
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week«
ExpiresByType image/* "access plus 1 month«
ExpiresByType text/css "modified plus 1 month"
ExpiresByType text/javascript "modified plus 1 month"
</IfModule>
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Minifiers
Utilisation de l’extension « scriptmerger »
page.includeCSS {
file1 = fileadmin/templates/…/css/style.css
file2 = fileadmin/templates/…/css/red.css
}
plugin.tx_scriptmerger.css {
enable = 1
minify.enable = 1
compress.enable = 1
merge.enable = 1
}
Source : http://developpeurtypo3.wordpress.com/2011/02/22/compression-js-css-typo3/
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Optimisation Mémoire vive
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Requêtes SQL
Libérer les résultats de requête
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($query);
while ($val = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
[...]
}
$GLOBALS['TYPO3_DB']->sql_free_result($res);
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Limiter la quantité de code chargé dans Typo3
Typoscript :
includeLibs.tx_monplugin_pi1 >
Fichier ext_autoload.php :
<?php
$extensionClassesPath = t3lib_extMgm::extPath('monplugin');
return array(
'tx_extbase_dispatcher' => $extensionClassesPath . 'pi1/class.tx_monplugin_pi1.php',
[...]
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011
Questions / Réponses
T3UNI 2011
Optimiser les performances de Typo3
29.06.2011