Benchmark de Lodel 0.8.7.3 versus Lodel 0.9
La version 0.9 de Lodel va apporter, en plus de l’import XML du modèle éditorial, des améliorations significatives au niveau des performances.
Les principales modifications ont été effectuées sur les requêtes SQL des templates qui sont maintenant mises en cache (celà inclut les loop ainsi que les variables de traductions), une refonte de la vue et des améliorations au niveau du parser.
Le test a été fait en local sur un serveur dédié, en utilisant Siege (http://freshmeat.net/projects/siege/).
Configuration matériel du serveur :
* 4x Intel(R) Xeon(R) CPU X3363 @ 2.83GHz
* 8 GO RAM
* disques durs 15 000trs/min
* PHP 5.2.6, MySQLi 5.0.51a, installés en configuration de base (paquets Debian)
Configuration de Siege :
root:~# siege -C
CURRENT SIEGE CONFIGURATION
JoeDog/1.00 [en] (X11; I; Siege 2.66)
Edit the resource file to change the settings.
———————————————-
version: 2.66
verbose: false
debug: false
protocol: HTTP/1.1
connection: close
concurrent users: 25
time to run: 60 seconds
repetitions: n/a
socket timeout: 90
delay: 0 sec
internet simulation: true
benchmark mode: true
failures until abort: 1024
named URL: none
URLs file: /root/siege_urls.txt
logging: false
log file: /var/siege.log
resource file: /etc/siege/siegerc
allow redirects: true
allow zero byte data: true
allow chunked encoding: true
Résultats :
Lodel 0.8.7.3 sans cache | Lodel 0.8.7.3 avec cache | Lodel 0.9 sans cache | Lodel 0.9 avec cache | |
Transactions (hits) | 5289 | 5553 | 15875 | 17416 |
Availability (%) | 100 | 100 | 100 | 100 |
Data transfered (MB) | 73,26 | 76,91 | 226,05 | 245,86 |
Response time (s) | 0,28 | 0,27 | 0,09 | 0,09 |
Transaction rate (trans/sec) | 88,76 | 92,77 | 262,79 | 289,93 |
Concurrency | 24,88 | 24,93 | 24,95 | 24,94 |
Longest transaction (s) | 8,16 | 1,44 | 16,27 | 0,67 |
On peut voir que Lodel 0.9 peut maintenant servir plus de 3 fois plus de pages que sa version précédente, avec une moyenne de 0.09s de temps de calcul par page contre 0.28s auparavant.
Petit plus, Lodel 0.9 sera compatible avec le niveau d’erreur E_STRICT .. !