Etude des principales solutions d optimisation d un serveur Web Apache / PHP / MySQL
|
|
|
- Nicole Julien
- il y a 10 ans
- Total affichages :
Transcription
1 Etude des principales solutions d optimisation d un serveur Web Apache / PHP / MySQL Mise en œuvre du Zend Optimizer, Zend Cache, APC et jpcache Armel FAUVEAU [email protected] GLOBALIS media systems 29 août 21 Version 1.1
2 Page 2 sur 5 29/8/21 1. INTRODUCTION PRÉSENTATION DES SOLUTIONS D OPTIMISATION LES OPTIMISEURS Principe Solution testée : Zend Optimizer 1.1. (glibc2.1) LES CACHE D OPCODE Principe Solutions testées : Zend Cache 1.1.b (glibc2.1) et APC 1.1.pl Solutions non testées LES CACHES DE PAGES Principe Solution testée : jpcache Solutions non testées PRÉSENTATION DE LA PLATE-FORME DE TEST SERVEUR Côté hardware Côté software CLIENT Côté hardware Côté software RÉSEAU OUTIL DE MESURE PRÉSENTATION DES SCRIPTS SCRIPT A : HOMEPAGE DE PHPINDEX SCRIPT B : RECHERCHE DANS L ANNUAIRE DE PHPINDEX SCRIPT C : CALCUL DES DÉCIMALES DE PI PRÉSENTATION DU PROTOCOLE DE TEST LECTURE DES TABLEAUX DE MESURES PHP RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+ZENDOPTIMIZER RÉSULTATS DES MESURES...16 Tel : / Fax , Web :
3 Page 3 sur 5 29/8/ Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+ZENDCACHE RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+ZENDCACHE+ZENDOPTIMIZER RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+ALTERNATIVE PHP CACHE (MODE SHM) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+ALTERNATIVE PHP CACHE (MODE MMAP) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+JPCACHE (FICHIER / TIMEOUT 9) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE...32 PHP4+JPCACHE (FICHIER / TIMEOUT 1) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE...35 Tel : / Fax , Web :
4 Page 4 sur 5 29/8/ PHP4+JPCACHE (BA SE / TIMEOUT 9) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+JPCACHE (BA SE / TIMEOUT 1) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE PHP4+ZENDCACHE+ZENDOPTIMIZER+JPCACHE (FICHIER / TIMEOUT 1) RÉSULTATS DES MESURES Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI CONFIGURATION ANALYSE CONCLUSION...46 A B C D VERS LA STANDARDISATION D UN BENCHMARK WEB...47 A PROPOS DE GLOBALIS MEDIA SYSTEMS...48 RESSOURCES...49 LE SCRIPT DE CALCUL DES DÉCIMALES DE PI...5 Tel : / Fax , Web :
5 Page 5 sur 5 29/8/21 1. Introduction Devant un nombre croissant de connexions, les performances des serveurs Web s'effondrent. Afin d'améliorer les temps de réponse, le premier réflexe est généralement de dissocier le serveur HTTP et la base de données. Une solution tout aussi courante consiste à augmenter le nombre de serveurs HTTP en utilisant des solutions de «load balancing». Si ces solutions se montrent généralement efficaces, elles restent néanmoins coûteuses en terme de matériel et d'hébergement. De plus, elles sont parfois complexes à mettre en œuvre. Pourtant d'autres solutions trop souvent méconnues existent. C est en particulier le cas des «optimiseurs» et des systèmes de cache («opcode» ou fichiers). GLOBALIS se propose de les étudier ici dans le cadre d une étude portant sur l utilisation d un serveur Web de type Apache, PHP et MySQL. 2. Présentation des solutions d optimisation Ces solutions peuvent être regroupées en 3 catégories : les optimiseurs, les caches d'opcode, les caches de page. 2.1 Les optimiseurs Principe Ces outils tentent d accélérer l'exécution des scripts en optimisant certaines séquences d instructions. Par exemple, ils remplacent les post-incrémentations par des pré-incrémentations plus rapides, à chaque fois que cela est possible Solution testée : Zend Optimizer 1.1. (glibc2.1) Il s'agit du seul outil de ce type disponible actuellement. Il est développé par Zend, concepteur du moteur de PHP4. Il est disponible pour de nombreuses architectures (Linux, Solaris, FreeBSD, Windows NT/2) et fonctionne avec Apache ou IIS. Zend Optimizer est gratuit et librement téléchargeable depuis le site de Zend : L installation est simple, mais nécessite de pouvoir éditer le fichier php.ini et de redémarrer le serveur http. Une documentation claire ainsi qu une FAQ sont disponibles sur le site de Zend. Précisons pour finir que le Zend Optimizer est sous licence Zend Optimizer. Tel : / Fax , Web :
6 Page 6 sur 5 29/8/ Les cache d opcode Principe Lors de l exécution d un script, PHP4 procède ainsi : il charge l intégralité du script, il convertit les instructions en opcodes (sorte de langage intermédiaire entre le script et un exécutable), il exécute les instructions. Lorsqu'un même script est appelé plusieurs fois, ces opérations sont renouvelées. Ceci est une perte de temps évidente. Les solutions de cache d opcode se proposent donc d effectuer une mise en cache des opcodes, afin d en garder une trace. Ceci permet à PHP4 de les exécuter directement Solutions testées : Zend Cache 1.1.b (glibc2.1) et APC 1.1.pl1 Nous avons testé 2 solutions. Zend Cache Il est développé par Zend, concepteur du moteur de PHP4. Il est disponible pour de nombreuses architectures (Linux, Solaris, FreeBSD) et ne fonctionne qu avec Apache. Zend Cache est payant. Il est néanmoins possible de l évaluer librement pendant une période de 3 jours. Vous pouvez le télécharger depuis le site de Zend : L installation est simple, mais nécessite une étape de compilation, de pouvoir éditer le fichier php.ini et de redémarrer le serveur http. Une documentation claire ainsi qu une FAQ sont disponibles sur le site de Zend. Au 2 juin 21, Zend Cache coûtait entre 1875 et 9 US$ selon les processeurs utilisés, mais le prix n apparaît plus sur le site de l éditeur. Ajoutons que Zend semble le proposer gratuitement en échange d'un bandeau de publicité placé sur le site accéléré. Précisons pour finir que le Zend Cache est sous licence Zend Cache. APC : Alternative PHP Cache Il est édité par la société Community Connect. Il est disponible sous Linux et FreeBSD et ne fonctionnent qu avec Apache. APC est librement téléchargeable depuis le site de Community Connect : L installation est simple, mais nécessite une étape de compilation, de pouvoir éditer le fichier php.ini et de redémarrer le serveur. Tel : / Fax , Web :
7 Page 7 sur 5 29/8/21 Une documentation claire ainsi qu une FAQ sont disponibles sur le site Community Connect. Précisons pour finir qu APC est sous licence QPL (Q Public License) Solutions non testées D autres solutions comparables existent. On peut en particulier citer afterburner*cache. Disponible sur il propose globalement les mêmes fonctionnalités que les deux solutions présentées précédemment. Mais il semble être moins performant d après les quelques études déjà réalisées. De plus, la dernière version en ligne date de mai 21 et semble ne pas supporter PHP Les caches de pages Principe Ces solutions se composent généralement d'un unique script PHP qu il faut inclure dans les scripts que l on désire mettre en cache. Techniquement, elles utilisent les capacités de «output buffering» introduites par PHP4. C est à dire qu elles récoltent les sorties générées par les scripts afin de les stocker dans un fichier ou dans une base de données. Le principal inconvénient de ces solutions repose sur la nécessité d éditer l ensemble des scripts que l on désire mettre en cache. Ainsi, à la différence des solutions de cache d opcode, la mise en œuvre de cette solution n est pas transparente pour le développeur. Notons aussi qu elle est inadaptée à certains scripts effectuant des UPDATE ou des INSERT dans une base. Idem si le contenu d une page est régulièrement modifié. Cependant, cette solution est la seule qui ne nécessite pas l édition du php.ini et/ou le redémarrage du serveur. Elle peut donc être intéressante dans le cas d un hébergement mutualisé Solution testée : jpcache Cette solution nécessite au minimum PHP 4..1 avec le support Zlib. Elle repose sur un simple script (en fait 2, suivant le mode de stockage : fichier ou base) à inclure dans chaque fichier à mettre en cache. Le script jpcache est librement téléchargeable sur : L installation est simple. La documentation est succincte mais suffisante. Précisons pour finir que jpcache est sous licence GPL Solutions non testées D autres solutions comparables existent. On peut en particulier citer : phpcache : disponible sur Il comporte plusieurs idées intéressantes et semble également fonctionner avec PHP3 (qui ne supporte pourtant pas le «output buffering»). Tel : / Fax , Web :
8 Page 8 sur 5 29/8/21 Toncarta : disponible sur Attention, Toncarta ne «cache» pas les headers (et donc les paramètres passés par la méthode POST). 3. Présentation de la plate-forme de test 3.1 Serveur Côté hardware Le serveur utilisé est un bi-piii à 7 Mhz. Il dispose d'un disque dur IDE Western Digital (WD25AA) de 2 Go, de 256 Mo de mémoire (SDRAM PC 1) et d'une carte réseau RealTek RTL Côté software Le système d'exploitation utilisé est Linux (distribution Slackware 7. régulièrement mise à jour) avec un noyau SMP. La version d Apache utilisée est la avec PHP et PHP en module dynamique (apxs) et versioning (les deux versions de PHP cohabitent en même temps). Enfin, la version utilisée de MySQL est la A titre informatif, voici les paramètres de compilation employés pour PHP3 et PHP4 : PHP PHP /configure '--with-apxs=/usr/local/apache/bin/apxs' '--with-mysql' '--with-gd' '--withttf' '--with-imap' '--without-xml' ' with-ftp' '--with-zlib' '--enable-versioning' '--enabletrack-vars' './configure' '--with-apxs=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/' '-- with-gd' '--enable-ftp' '--enable-sockets' '--with-freetype' '--with-xml' '--with-gettext' '- -with-gzip' '--with-bz2' ' enable-versioning' '--enable-track-vars' '--with-pngdir=/usr/local/lib' '--with-zlib-dir=/usr/local/lib/' '--with-imap' Concernant Apache, quelques affinages ont été effectués au niveau du fichier httpd.conf. Ce fût en particulier le cas au niveau du nombre maximal de clients supportés (MaxClients). Voici quelques paramètres de configuration utilisés : MinSpareServers 5 MaxSpareServers 1 StartServers 5 MaxClients Client Côté hardware Le client utilisé est un 486-DX4 à 1 Mhz. Il dispose d'un disque dur IDE Quantum Fireball (WD54A) de 54 Mo, de 32 Mo de mémoire et d'une carte réseau RealTek RTL-829. Notons que l influence de la puissance de l architecture cliente sur les résultats obtenues est négligeable. Il n était donc pas utile de chercher à surdimensionner celle ci Côté software Le client tourne sous FreeBSD 4.2-RELEASE pour des raisons arbitraires. Tel : / Fax , Web :
9 Page 9 sur 5 29/8/ Réseau Le réseau fonctionnait en 1 Mb. Si, à première vue, ceci pouvait s avérer un facteur limitant, les tests ont montré que le réseau n a jamais été saturé (contrôle vérifié au niveau du HUB équipé d une jauge de montée en charge). 3.4 Outil de mesure L outil de mesure utilisé dans le cadre de ces tests est ApacheBench 1.3c (fourni avec Apache). Cet outil tourne au niveau du client. 4. Présentation des scripts 4.1 Script A : homepage de PHPIndex Il semblait judicieux de faire figurer la page d accueil du site PHPIndex ( dans les tests. Et ceci pour de multiples raisons : Cette page est souvent le point d entrée logique des visiteurs : il semble donc intéressant de chercher à mesurer la charge engendrée par cette page et trouver des solutions afin de l optimiser. Cette page est caractéristique d un site dynamique à base PHP / MySQL : on y trouve un jeux d include successifs permettant de construire progressivement la page (entête, colonne de gauche assurant la navigation, colonne centrale d informations, colonne de droite contextuelle et pied de page). Les principales informations présentées sont lues dynamiquement dans la base. Il s agit surtout de requêtes de type SELECT COUNT ou SELECT LIMIT. La homepage de PHPIndex est visible sur : Script B : recherche dans l annuaire de PHPIndex Une partie du site PHPIndex utilise Ht://dig comme moteur de recherche. Mais l annuaire dispose de son propre système de recherche. Il effectue tout simplement un SELECT LIKE dans la table annuaire afin de faire remonter les sites comportant l occurrence cherchée dans le titre ou la description. Le résultat fait également apparaître la liste de catégories et des sous-catégories dans lesquelles des sites ont été trouvés. Ce script va donc solliciter fortement la base MySQL, une recherche de type SELECT LIKE étant fortement consommatrice de ressources. La recherche portait sur l occurrence «php» et le resultat est visible sur : Tel : / Fax , Web :
10 Page 1 sur 5 29/8/ Script C : calcul des décimales de PI L idée était ici d écrire un script effectuant du calcul intensif et ne faisant pas intervenir MySQL. Le calcul des décimales de PI semblait un bon exemple. Le script est livré en fin de document. Le résultat est également visible sur : 5. Présentation du protocole de test Les 3 scripts ont été exécutés avec les combinaisons suivantes : PHP3 PHP4 PHP4 + ZendOptimizer PHP4 + ZendCache PHP4 + ZendOptimizer + ZendCache PHP4 + APC (mode shm) PHP4 + APC (mode mmap) PHP4 + jpcache (fichier / timeout 9) PHP4 + jpcache (fichier / timeout 1) PHP4 + jpcache (base / timeout 9) PHP4 + jpcache (base / timeout 1) PHP4 + ZendOptimizer + ZendCache + jpcache (fichier / timeout 1) Pour chacune de ces combinaisons, des mesures ont été effectuées pour 25 requêtes et successivement 1, 5, 1, 15, 2, 25 et 5 accès concurrents. Exemple : /usr/local/sbin/ab -H "Accept-Encoding: gzip, deflate" n 25 c 5 Ici, l argument H "Accept-Encoding: gzip, deflate" est employé afin d émuler un client en mesure de recevoir un flux compressé (fonctionnalité implémentée dans la plupart des clients et judicieusement exploitée par jpcache). Une pose de 15 secondes a été systématiquement observée entre chaque mesure. Enfin, l utilitaire Unix «top» fonctionnait sur le serveur afin de garder un œil sur la montée en charge CPU et mémoire. 6. Lecture des tableaux de mesures La légende des abréviations employées dans les tableaux de mesures est la suivante : CL Concurrency Level FR Failed Requests CR Complete Requests TT Total Transferred (bytes) T Time taken for tests (seconds) HT HTML Transferred (bytes) RS Requests per Second TR Transfer Rate (kb/s received) Précisons enfin que la ligne grisée dans les tableaux de mesures présente le meilleur résultat obtenu en terme de requêtes par seconde. Tel : / Fax , Web :
11 Page 11 sur 5 29/8/21 7. PHP3 7.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Time Out Time Out Time Out Time Out Time Out Time Out Tel : / Fax , Web :
12 Page 12 sur 5 29/8/ Configuration PHP3..18./configure '--with-apxs=/usr/local/apache/bin/apxs' '--with-mysql' '--with-gd' '--with-ttf' '--with-imap' '--without-xml' '--with-ftp' '--with-zlib' '--enable-versioning' '--enable-track-vars' 7.3 Analyse Ces résultats obtenus serviront de valeurs de référence pour la suite des mesures. Nous verrons rapidement qu ils correspondent aux performances les plus basses. Notons également que le serveur n a pas supporté la charge lors de la tentative de mesure de 25 requêtes jouées par 5 accès concurrents pour le script de calcul de PI. En particulier, la charge CPU était trop importante. Tel : / Fax , Web :
13 Page 13 sur 5 29/8/21 8. PHP4 8.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
14 Page 14 sur 5 29/8/ Configuration PHP4..6 './configure' '--with-apxs=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/' '--with-gd' '--enableftp' '--enable-sockets' '--with-freetype' '--with-xml' '--with-gettext' '--with-gzip' '--with-bz2' '--enableversioning' '--enable-track-vars' '--with-png-dir=/usr/local/lib' '--with-zlib-dir=/usr/local/lib/' '--withimap' 8.3 Analyse homepage de PHPIndex PHP3 PHP4 Moy. PHP3 Moy. PHP4 Recherche dans l annuaire de PHPIndex PHP3 PHP4 Moy. PHP3 Moy. PHP4 Tel : / Fax , Web :
15 Page 15 sur 5 29/8/21 Calcul des décimales de PI PHP3 PHP4 Moy. PHP3 Moy. PHP4 Comme précédemment, ces résultats obtenus serviront de valeurs de référence pour la suite des mesures. Il est déjà intéressant de noter l amélioration sensible des performances dans tous les cas. Le gain est important, entre 2 et 2% suivant le type de script. PHP4 résulte d une réécriture complète de PHP3 et le «parser» Zend se montre très efficace. Tel : / Fax , Web :
16 Page 16 sur 5 29/8/21 9. PHP4+ZendOptimizer 9.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
17 Page 17 sur 5 29/8/ Configuration PHP ZendOptimizer-1.1. (Linux_glibc2.1) zend_optimizer.optimization_level=15 zend_extension=/usr/local/zend/lib/zendoptimizer.so 9.3 Analyse homepage de PHPIndex PHP3 PHP4 PHP4+ZendOptimizer Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendOptimizer Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+ZendOptimizer Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendOptimizer Tel : / Fax , Web :
18 Page 18 sur 5 29/8/21 Calcul des décimales de PI PHP3 PHP4 PHP4+ZendOptimizer Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendOptimizer Pas de réelle surprise ici. L utilisation du Zend Optimizer n apporte rien pour les 2 premiers scripts. Les performances sont même très légèrement inférieures à celles de PHP4 seul. La tentative d optimisation de ces scripts est donc ici pénalisante. En revanche, l impact est indéniable dans le cas du dernier script. Dans ce cas, le gain de performance est de 346% par rapport à PHP3 et de près de 5% par rapport à PHP4 seul. Tel : / Fax , Web :
19 Page 19 sur 5 29/8/21 1. PHP4+ZendCache 1.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
20 Page 2 sur 5 29/8/ Configuration PHP ZendCache-1.1.b (Linux_glibc2.1) zend_cache.memory_consumption=64 zend_cache.validate_timestamps=1 zend_cache.use_cwd=1 zend_extension=/usr/local/zend/lib/zendcache.so 1.3 Analyse homepage de PHPIndex PHP3 PHP4 PHP4+ZendCache Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendCache Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+ZendCache Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendCache Tel : / Fax , Web :
21 Page 21 sur 5 29/8/21 Calcul des décimales de PI PHP3 PHP4 PHP4+ZendCache Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendCache La situation est inversée. Le Zend Cache permet d améliorer sensiblement les résultats sur les 2 premiers scripts. En revanche, il est sans effet sur le dernier. Tel : / Fax , Web :
22 Page 22 sur 5 29/8/ PHP4+ZendCache+ZendOptimizer 11.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
23 Page 23 sur 5 29/8/ Configuration PHP ZendOptimizer ZendCache-1.1.b (Linux_glibc2.1) zend_optimizer.optimization_level=15 zend_extension=/usr/local/zend/lib/zendoptimizer.so zend_cache.memory_consumption=64 zend_cache.validate_timestamps=1 zend_cache.use_cwd=1 zend_extension=/usr/local/zend/lib/zendcache.so 11.3 Analyse homepage de PHPIndex PHP3 PHP4+ZendCache+ZendOptimizer Moy. PHP4 PHP4 Moy. PHP3 Moy. PHP4+ZendCache+ZendOptimizer Tel : / Fax , Web :
24 Page 24 sur 5 29/8/21 Recherche dans l annuaire de PHPIndex PHP3 PHP4+ZendCache+ZendOptimizer Moy. PHP4 PHP4 Moy. PHP3 Moy. PHP4+ZendCache+ZendOptimizer Calcul des décimales de PI PHP3 PHP4+ZendCache+ZendOptimizer Moy. PHP4 PHP4 Moy. PHP3 Moy. PHP4+ZendCache+ZendOptimizer Il est parfaitement possible de combiner le Zend Cache et le Zend Optimizer. Cette combinaison s avère intéressante puisqu elle permet d obtenir de bons résultats pour l ensemble des scripts. Les performances sont nettement améliorées. Zend Cache et Zend Optimizer sont complémentaires. Tel : / Fax , Web :
25 Page 25 sur 5 29/8/ PHP4+Alternative PHP Cache (mode SHM) 12.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
26 Page 26 sur 5 29/8/ Configuration PHP APC 1.1.pl1 zend_extension=/usr/local/zend/lib/php_apc.so apc.mode = shm 12.3 Analyse homepage de PHPIndex PHP3 PHP4 PHP4+APC SHM Moy. PHP3 Moy. PHP4 Moy. PHP4+APC SHM Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+APC SHM Moy. PHP3 Moy. PHP4 Moy. PHP4+APC SHM Tel : / Fax , Web :
27 Page 27 sur 5 29/8/21 Calcul des décimales de PI PHP3 PHP4 PHP4+APC SHM Moy. PHP3 Moy. PHP4 Moy. PHP4+APC SHM APC est efficace sur les 2 premiers scripts et sans effet sur le dernier script. Les résultats sont donc semblables à ceux du Zend cache tout en restant, dans tous les cas, inférieurs. Cette différence atteint 1% dans le cas de la homepage. Tel : / Fax , Web :
28 Page 28 sur 5 29/8/ PHP4+Alternative PHP Cache (mode MMAP) 13.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
29 Page 29 sur 5 29/8/ Configuration PHP APC 1.1.pl1 zend_extension=/usr/local/zend/lib/php_apc.so apc.mode = mmap 13.3 Analyse homepage de PHPIndex PHP3 PHP4 PHP4+APC MMAP Moy. PHP3 Moy. PHP4 Moy. PHP4+APC MMAP Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+APC MMAP Moy. PHP3 Moy. PHP4 Moy. PHP4+APC MMAP Tel : / Fax , Web :
30 Page 3 sur 5 29/8/21 Calcul des décimales de PI PHP3 PHP4 PHP4+APC MMAP Moy. PHP3 Moy. PHP4 Moy. PHP4+APC MMAP Idem que précédemment. Le mode mmap n a pas permis d obtenir des résultats meilleurs que ceux observés avec le Zend Cache. Notons aussi que l APC charge beaucoup plus le serveur, comparé au Zend Cache, en terme d occupation CPU et mémoire. Tel : / Fax , Web :
31 Page 31 sur 5 29/8/ PHP4+jpcache (fichier / timeout 9) 14.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
32 Page 32 sur 5 29/8/ Configuration PHP jpcache (jpcache.inc) $cachetimeout= Analyse homepage de PHPIndex PHP3 PHP4 PHP4+jpcache (fichier/timeout 9) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (fichier/timeout 9) 12 Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+jpcache (fichier/timeout 9) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (fichier/timeout 9) Tel : / Fax , Web :
33 Page 33 sur 5 29/8/21 Calcul des décimales de PI PHP3 PHP4+jpcache (fichier/timeout 9) PHP4 Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (fichier/timeout 9) Les résultats obtenus sont excellents et même spectaculaires pour l ensemble des scripts. On note une amélioration des performances par rapport au PHP3 comprises entre 53 et 172%! Attention néanmoins. Une mise en cache de 9 secondes (soit 15 minutes) n est pas vraiment réaliste dans le cas du test, une seule mise en cache étant effectué au début pour l ensemble des mesures (qui durent moins de 15 minutes). Il semblait donc intéressant de rejouer cette combinaison avec un time out plus fin (1 secondes). Précisons enfin le point suivant : jpcache compresse le fichier mis en cache. Et c est la version compressée qui est envoyée au client. Si le client ne supporte pas la compression, jpcache va se charger de la faire pour lui, opération coûteuse ne terme de ressources CPU. Dans ce cas, les mesures observées (non présentées ici), sont proches de PHP4 seul. Tel : / Fax , Web :
34 Page 34 sur 5 29/8/21 PHP4+jpcache (fichier / timeout 1) 14.4 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
35 Page 35 sur 5 29/8/ Configuration PHP jpcache (jpcache.inc) $cachetimeout= Analyse homepage de PHPIndex PHP3 PHP4 PHP4+jpcache (fichier/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (fichier/timeout 1) Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+jpcache (fichier/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (fichier/timeout 1) Tel : / Fax , Web :
36 Page 36 sur 5 29/8/21 12 Calcul des décimales de PI PHP3 PHP4 PHP4+jpcache (fichier/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (fichier/timeout 1) Les résultats obtenus restent excellents, malgré une légère baisse des performances. Le gain reste compris entre 51 et 117% par rapport à PHP3. Tel : / Fax , Web :
37 Page 37 sur 5 29/8/ PHP4+jpcache (base / timeout 9) 15.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
38 Page 38 sur 5 29/8/ Configuration PHP jpcache (jpcache-sql.php) $cachetimeout= Analyse 7 homepage de PHPIndex PHP3 PHP4 PHP4+jpcache (base/timeout 9) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (base/timeout 9) 8 Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+jpcache (base/timeout 9) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (base/timeout 9) Tel : / Fax , Web :
39 Page 39 sur 5 29/8/21 14 Calcul des décimales de PI PHP3 PHP4 PHP4+jpcache (base/timeout 9) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (base/timeout 9) Les résultats obtenus sont bons! Et ceci pour l ensemble des scripts. On note cependant que les performances sont beaucoup plus faibles lorsque jpcache utilise une mise en cache au niveau d une base de données (MySQL). Ce qui semble évident. Là encore, il semblait intéressant de rejouer cette combinaison avec un time out plus fin (1 secondes). Tel : / Fax , Web :
40 Page 4 sur 5 29/8/ PHP4+jpcache (base / timeout 1) 16.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
41 Page 41 sur 5 29/8/ Configuration PHP jpcache (jpcache-sql.php) $cachetimeout= Analyse 7 homepage de PHPIndex PHP3 PHP4 PHP4+jpcache (base/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (base/timeout 1) 7 Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+jpcache (base/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (base/timeout 1) Tel : / Fax , Web :
42 Page 42 sur 5 29/8/21 7 Calcul des décimales de PI PHP3 PHP4 PHP4+jpcache (base/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+jpcache (base/timeout 1) Les résultats obtenus restent bons! Et ceci pour l ensemble des scripts. A noter tout de même un écroulement des performances sur le dernier script lorsque le nombre de clients simultanés augmente. Tel : / Fax , Web :
43 Page 43 sur 5 29/8/ PHP4+ZendCache+ZendOptimizer+jpcache (fichier / timeout 1) 17.1 Résultats des mesures Script A : homepage de PHPIndex Script B : recherche dans l annuaire de PHPIndex Script C : calcul des décimales de PI Tel : / Fax , Web :
44 Page 44 sur 5 29/8/ Configuration PHP ZendOptimizer ZendCache-1.1.b (Linux_glibc2.1) + jpcache (jpcache.inc) zend_optimizer.optimization_level=15 zend_extension=/usr/local/zend/lib/zendoptimizer.so zend_cache.memory_consumption=64 zend_cache.validate_timestamps=1 zend_cache.use_cwd=1 zend_extension=/usr/local/zend/lib/zendcache.so $cachetimeout= Analyse 12 homepage de PHPIndex PHP3 PHP4 PHP4+ZendCache+ZendOptimizer+jpcache (fichier/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendCache+ZendOptimizer+jpcache (fichier/timeout 1) Tel : / Fax , Web :
45 Page 45 sur 5 29/8/ Recherche dans l annuaire de PHPIndex PHP3 PHP4 PHP4+ZendCache+ZendOptimizer+jpcache (fichier/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendCache+ZendOptimizer+jpcache (fichier/timeout 1) Calcul des décimales de PI PHP3 PHP4 PHP4+ZendCache+ZendOptimizer+jpcache (fichier/timeout 1) Moy. PHP3 Moy. PHP4 Moy. PHP4+ZendCache+ZendOptimizer+jpcache (fichier/timeout 1) Il semblait intéressant de combiner l ensemble des solutions ayant permis d obtenir de bonnes performances. A vrai dire, la combinaison est gagnante et les résultats sont les meilleurs pour tous les scripts. Tel : / Fax , Web :
46 Page 46 sur 5 29/8/ Conclusion Les résultats observés démontrent clairement l apport majeur du passage à PHP4 par rapport à PHP3. Mais aussi le fait que les différentes solutions étudiées sont complémentaires. Nous avons vu aussi que l Alternative PHP Cache est dans tous les cas moins performant que son concurrent de chez Zend. De plus, il tend à charger énormément le serveur en CPU et mémoire. Mais il présente aussi l avantage d être sous une licence libre. Et il possède des fonctionnalités intéressantes que ne propose pas Zend Cache. En particulier la possibilité de pouvoir paramétrer différemment l action du cache d «opcode» suivant tel ou tel script. Le Zend Optimizer est performant dans des cas bien particuliers, tel un script de calcul pur. Mais ceci est loin d être représentatif d une mise en œuvre typique des technologies Web dynamique. Cependant, le Zend Optimizer a sa raison d être. Et le fait qu il soit librement téléchargeable aussi. En effet, le Zend Optimizer est nécessaire à l exécution d un autre produit de Zend : le Zend Encodeur. Quant au jpcache, il se montre très performant, surtout en mode fichier. Il est également tout à fait adapté à une utilisation en environnement mutualisé, ne nécessitant pas le paramétrage du php.ini ou le redémarrage du serveur. Cependant, il n est pas adapté à l ensemble des problématiques (page fréquemment mise à jour, INSERT ou UPDATE, sessions, etc.). Il implique également un minimum de travail de la part du ou des développeurs afin d affiner les paramétrages de mise en cache. Et son intégration peut s avérer complexe dans le cas d un projet en production. Dans ce cas, l utilisation de la combinaison Zend Cache/Zend Optimizer apporte une plus grande rapidité d exécution que PHP3 ou PHP4 seul. Mais elle nécessite un environnement dédié ou les bonnes dispositions du ou des administrateurs systèmes, même si une solution encore en test à ce jour pourrait simplifier la chose : le Zend Cache Shared Server. homepage Recherche dans l annuaire Calcul des décimales de PI PHP4 28% 22% 199% PHP4+ZendOptimizer 25% 21% 346% PHP4+ZendCache 51% 28% 199% PHP4+ZendCache+ZendOptimizer 53% 28% 347% PHP4+APC SHM 36% 24% 197% PHP4+APC MMAP 33% 24% 197% PHP4+jpcache (fichier/timeout 9) 531% 543% 17197% PHP4+jpcache (fichier/timeout 1) 536% 516% 11712% PHP4+jpcache (base/timeout 9) 349% 345% 12749% PHP4+jpcache (base/timeout 1) 333% 343% 6484% PHP4+ZendCache+ZendOptimizer+ 68% 568% 15326% jpcache (fichier/timeout 1) Gains de performances par rapport à PHP3 Licence Coût d achat Zend Optimizer Zend Optimizer Librement téléchargeable Zend Cache Zend Cache Entre 1875 et 9 US$ par processeur selon le type de celui-ci. Prix dégressif. APC cache QPL Librement téléchargeable jpcache GPL Librement téléchargeable Récapitulatif des licences et des coûts Tel : / Fax , Web :
47 Page 47 sur 5 29/8/21 A Vers la standardisation d un benchmark Web L étude effectuée ici pourrait largement être étendue et approfondie. Et ceci pour de multiples raisons : L outil de mesure utilisé, Apache Bench, est largement perfectible. A ce titre, compléter ces mesures avec d autres outils comme httperf ou Autobench serait intéressant. Si Apache est certainement le serveur HTTP le plus utilisé au monde, mesurer les répercutions de l utilisation d alternatives à Apache serait également judicieux C est en particulier le cas de IIS, le serveur Web de Microsoft. Ce dernier présente une caractéristique intéressante. A savoir, d opter pour un modèle d architecture dit «multi-threadé». A la différence d Apache qui, en attendant Apache 2, utilise un modèle «pré-fork». Or, si ce dernier se montre plus robuste, le modèle «multi-threadé» offre quant à lui une bien meilleure réponse aux montées en charges. Jouer plus finement sur la puissance CPU et la mémoire eût été opportun. On constate par exemple que le Zend Cache est moins gourmand que l APC. Des disparités existent donc aussi à ce niveau là. Et plus largement, chercher à étudier la charge d autres solutions de scripting comme Perl (ou mod Perl), les ASP, les JSP ou encore Cold Fusion serait également intéressant. Le sujet apparaît donc rapidement comme très vaste, tant la diversité des technologies, des solutions logicielles et matérielles, sont grandes. Il serait néanmoins vraiment utile de chercher à standardiser tout cela. Et si la tâche semble délicate, elle n est pas impossible. Un bon début consisterait sans doute par définir une architecture logicielle et matérielle de référence au niveau serveur. Et ceci tant sous Apache que IIS. Puis réfléchir à l élaboration d une collection de scripts portables (en particulier d une solution de scripting à une autre) et mixant calcul, lecture et insertion dans un SGBD, recherche, etc. Enfin, définir les conditions des tests (combien de requêtes, combien de clients, combien de temps, etc.). Il serait alors beaucoup plus simple de comparer les performances de telle ou telle solution par rapport à une autre : par exemple Apache/PHP/MySQL d un coté et IIS/ASP/SQLServer de l autre. Puis mesurer les évolutions en utilisant PostgreSQL au lieu de MySQL. En fait, le but ultime ne serait-il pas tout simplement de pouvoir disposer d un équivalent Web des célèbres SpecInt et SpecFloat du monde des processeurs? Ce serait en tout cas fort judicieux. Tel : / Fax , Web :
48 Page 48 sur 5 29/8/21 B A propos de GLOBALIS media systems GLOBALIS media systems, spécialiste technique Web, offre à ses clients, web agencies, dotcom ou grands comptes, une expertise et un développement technique de haut niveau. Développement technique Développement de sites fortement dynamiques. Commerce électronique. PHP4, PHP3, ASP, Perl. HTML, DHTML, XML, WML. MySQL, PostgreSQL, Oracle, SQLServer. Supports Internet, Intranet, Extranet. WAP, I-Mode, PDA. Etudes Audit, Conseil. Définition des besoins. Rédaction de cahiers des charges. Assistance à maîtrise d'ouvrage. Transfert de compétences. Veille Linux et les Logiciels Libres. Internet Mobile. Technologies émergeantes. GLOBALIS media systems contribue également à l'essor des technologies OpenSource en publiant le site PHPINDEX portail de veille dédié aux technologies PHP, en ouvrant le code source de certaines applications comme phpfaqtory et en participant à des projets majeurs comme phpmyadmin. Ses clients ont pour nom Synerdeal, CNRS, Crédit Agricole, 3COM, France Soir, Business Interactif, Artifica, MATRA Systèmes & Information, CNFPT. Contact : Frédéric HOVART, , [email protected]. GLOBALIS media systems 25, rue Thiboumery Paris Tel : +33 () Fax : +33 () [email protected] Tel : / Fax , Web :
49 Page 49 sur 5 29/8/21 C Ressources Outils de benchmark Apachebench Httperf Autobench MWAS Fourni avec Apache Server Logiciels utilisés au niveau serveur Slackware Apache Server MySQL PHP Logiciels testés Zend Zend Optimizer Zend Cache Alternative PHP Cache Jpcache License Zend Optimizer License Zend Cache License GPL Différents benchmarks déjà réalisés Textes de références Tel : / Fax , Web :
50 Page 5 sur 5 29/8/21 D Le script de calcul des décimales de PI <?php // // // Calcul des décimales de PI // // Copyright (c) The PHPIndex Group // // This program is an open source software; you can redistribute it // and/or modify it under the terms of one of the GNU General Public // License as published by the Free Software Foundation; either // version 2 of the License, or (at your option) any later version. // // Authors: // Julien Wajsberg <[email protected]> // Armel Fauveau <[email protected]> // // $RCSfile: pi.php,v $ // $Author: armel $ // $Revision: $ // $Date: 21/8/25 2:27:49 $ // // {{{ définition de variables define(nb_iteration,1); define(precision,48); // }}}} // {{{ calcul echo "Calcul des décimales de PI<br>\n"; echo "Nombre d'itérations :".NB_ITERATION."<br>\n"; echo "<br>\n"; echo "Calcul des suites Un et Vn...<br>\n"; $u[1] = 99./1; $u[2] = 481./5; $v[1] = 99./478; $v[2] = /114242; for ($i = 3 ; $i <= 2*NB_ITERATION-1 ; $i++) { $u[$i] = 99./5 * $u[$i-1] - $u[$i-2]; $v[$i] = 99./239 * $v[$i-1] - $v[$i-2]; } echo "Terminé.<br>\n"; echo "<br>\n"; echo "Calcul du nombre PI...<br>\n"; $sum = ; for ($i = 1 ; $i <= NB_ITERATION ; $i ++) { $sum += pow(-1, $i-1)/(pow(1,2*$i-1)*(2*$i-1)) * (4*$u[2*$i-1] - $v[2*$i- 1]); } echo "Terminé.<br>\n"; echo "<br>\n"; echo ("Le nombre PI calculé :<br>\n".number_format(8 * $sum, PRECISION)."<br>\n"); echo ("Le nombre PI fourni par PHP :<br>\n".number_format(m_pi, PRECISION)."<br>\n"); // }}}?> Tel : / Fax , Web :
PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau
Performances PHP Julien Pauli Cyril Pierre de Geyer Guillaume Plessis Préface d Armel Fauveau Groupe Eyrolles, 2012, ISBN : 978-2-212-12800-0 Table des matières Avant-propos... 1 Pourquoi ce livre?.....................................................
Fiche Technique. Cisco Security Agent
Fiche Technique Cisco Security Agent Avec le logiciel de sécurité de point d extrémité Cisco Security Agent (CSA), Cisco offre à ses clients la gamme de solutions de protection la plus complète qui soit
Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage
Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site
Drupal : Optimisation des performances
Drupal : Optimisation des performances Qui? Guillaume Plessis Expert, Steady bean Mainteneur du projet Dotdeb Co-auteur «Performances PHP» Frédéric Marand Fondateur d OSInet Mainteneur Drupal Audit, conseil
«Clustering» et «Load balancing» avec Zope et ZEO
«Clustering» et «Load balancing» avec Zope et ZEO IN53 Printemps 2003 1 Python : généralités 1989 : Guido Van Rossum, le «Python Benevolent Dictator for Life» Orienté objet, interprété, écrit en C Mêle
1 LE L S S ERV R EURS Si 5
1 LES SERVEURS Si 5 Introduction 2 Un serveur réseau est un ordinateur spécifique partageant ses ressources avec d'autres ordinateurs appelés clients. Il fournit un service en réponse à une demande d un
CAHIER DES CHARGES D IMPLANTATION
CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création
Manuel d'exploitation de l'application Vitamin version 1.0
Manuel d'exploitation de l'application Vitamin version 1.0 Ce document a pour but de décrire les procédures d'exploitation de l application Vitamin Manuel d'exploitation de l'application vitamin, version
«clustering» et «load balancing» avec Zope et ZEO
IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4
Architectures d implémentation de Click&DECiDE NSI
Architectures d implémentation de Click&DECiDE NSI de 1 à 300 millions de ligne de log par jour Dans ce document, nous allons étudier les différentes architectures à mettre en place pour Click&DECiDE NSI.
Systèmes en réseau : Linux 1ère partie : Introduction
Systèmes en réseau : Linux 1ère partie : Introduction Les fondements de Linux : le logiciel libre Historique de Linux Présentation générale de Linux Les applications à succès Les distributions Qu'est-ce
SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2
SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 Version 1.0.5 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans
Préparation d un serveur Apache pour Zend Framework
Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine
ASP 3.0 Professionnel
Introduction On dit que, toute sa vie, chacun se souvient exactement de ce qu il fait et de l endroit où il est lorsque des faits marquants se produisent, par exemple le décès de Lady Diana ou l élection
La montée des bases de données open source
La montée des bases de données open source Un document eforce FRANCE Mars 2003 La montée des bases de données open source - Page 1 sur 6 La montée en puissance des projets open source est incontestable
Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens
Hébergement WeboCube Le service d'hébergement WeboCube a pour but de sécuriser la présence internet grâce à un suivi personnalisé et une maintenance active de votre serveur internet. Un espace de gestion
Architectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Mise à jour : Octobre 2011
FICHE TECHNIQUE Architecture VIGILENS Mise à jour : Octobre 2011 VIGILENS SARL 53, rue Vauban F 69006 LYON www.vigilens.net Sommaire 1. Intégration de VIGILENS dans l architecture de l entreprise... 3
Catalogue des Formations Techniques
Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : [email protected] 2 Préambule
PostgreSQL. Formations. Catalogue 2011. Calendrier... 8
Formations PostgreSQL Catalogue 2011 Administration PostgreSQL... 2 PostgreSQL Avancé... 3 PostgreSQL Réplication : Hot Standby... 4 Développer avec PostgreSQL... 5 Migration Oracle vers PostgreSQL...
Failles XSS : Principes, Catégories Démonstrations, Contre mesures
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,
Livre Blanc WebSphere Transcoding Publisher
Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,
Avant-propos. VERSION 20021216 Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP 1.5 2 http ://www.uzine.
Avant-propos SPIP 1 est le système de publication développé par le minirézo pour la gestion du site uzine 2. Nous le livrons à chacun, sous licence libre (GPL). Vous pouvez donc l utiliser librement pour
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement
Introduction Phases du projet Les principales phases du projet sont les suivantes : La mise à disposition des sources Des fichiers Excel sont utilisés pour récolter nos informations L extraction des données
Sommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23
1 Introduction 19 1.1 À qui s adresse cet ouvrage?... 21 1.2 Comment est organisé cet ouvrage?... 22 1.3 À propos de l auteur... 22 1.4 Le site Web... 22 2 Présentation du logiciel de commerce électronique
A5.2.4 Étude d une technologie, d'un composant, d'un outil
Assistance et dépannage des visiteurs : Etude des prérequis de glpi : A5.2.4 Étude d une technologie, d'un composant, d'un outil Sujet : Prérequis Tout ce qu'il faut savoir pour une installation confortable
Hébergement de sites Web
Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise
THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL
. THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,
Travail collaboratif. Glossaire
Glossaire Ajax Traduction anglaise : Ajax (Asynchronous JavaScript And XML) AJAX est un combiné de différents langages de développement Web comme XHTML, JavaScript ou XML, il est fréquemment utilisé pour
Administration de systèmes
Administration de systèmes Windows NT.2000.XP.2003 Copyright IDEC 2002-2004. Reproduction interdite. Sommaire... 2 Eléments logiques et physiques du réseau... 5 Annuaire et domaine... 6 Les utilisateurs
OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage
Outil d administration de parc informatique Documentation d installation et de paramétrage Nicolas BIDET Ouapi.org 29/07/2012 Sommaire Installation de Wampserver... 3 1.1. Téléchargement de WampServer...
Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet
Echosgraphik Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet Présentation I. Echosgraphik Protocoles de travail I. Développement du site II.
CRM & DATA SOLUTIONS VENTES SFA & MARKETING
01 55 94 28 15 www.crmdata.fr SOLUTIONS VENTES SFA & MARKETING En ASP ou Intranet Copyright 2004 - tous droits réservés. QUI SOMMES-NOUS? Société française totalement autofinancée, a été créée en 2002
Mettez Linux en boîte avec ClearOS
Mettez Linux en boîte avec ClearOS Jonas FERNANDEZ Administrateur GNU/Linux LPIC 1 Association LoLiTa, Logiciels Libres à Tahiti et ses îles 13 mars 2013 Présentation réalisée avec L A TEX. 13 mars 2013
Yann BECHET 32 ans 8 ans d expérience [email protected] http://www.bechet.org/cv
32 ans 8 ans d expérience [email protected] http://www.bechet.org/cv Chef de projets Conception Orientée Objets Réseaux et systèmes distribués Formation 1999 Diplôme d Etudes Approfondies «réseaux et systèmes
Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions
Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento [email protected] AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1
Retrouver de vieux programmes et jouer sur VirtualBox
CHAPITRE 3 Retrouver de vieux programmes et jouer sur VirtualBox Ce chapitre présente des notions avancées de VirtualBox. Elles permettront de réaliser des configurations spécifiques pour évaluer des systèmes
Survol des nouveautés
Maîtrisez la conception de sites Web en toute simplicité WebExpert est un puissant logiciel d'édition Web qui vous permet de concevoir et de gérer des sites Web, de façon professionnelle en toute simplicité.
TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES
TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES 1 DECOUVERTE DE LA VIRTUALISATION... 2 1.1 1.2 CONCEPTS, PRINCIPES...2 UTILISATION...2 1.2.1 Formation...2
Pratique et administration des systèmes
Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de
FileMaker Server 14. Guide de démarrage
FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques
Livret 1 Poste de travail de l utilisateur :
Manuel Utilisateur Mise à jour 04 Juin 2015 Livret 1 Poste de travail de l utilisateur : - pré-requis techniques - mise en conformité - connexion - impressions.pdf Pour les utilisateurs des compléments
MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada
MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre
Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE: http://www.apache.org/.
Installation de base du logiciel APACHE sous Windows Ce chapitre traite l installation du logiciel APACHE à utiliser avec ABCD sous l environment Windows. Au moins Windows NT, Windows 2000 ou les versions
Diffuser un contenu sur Internet : notions de base... 13
Diffuser un contenu sur Internet : notions de base... 13 1.1 Coup d œil sur l organisation de cet ouvrage.............. 15 Préambule : qu est-ce qu une page web?................ 16 À propos du HTML...........................
PROJET DE PORTAIL INTRANET YNNA
PROJET DE PORTAIL INTRANET YNNA PV sur l état d avancement du chantier Intranet Ynna Hicham BENJELLOUN [email protected] Préambule Ce rapport a pour objet de proposer les grandes lignes de l état des
UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE
123 UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE Résumé Cet article décrit la création d un centre serveur sous le système d exploitation Linux, avec le serveur web Apache, ainsi que le développement d un
La haute disponibilité de la CHAINE DE
Pare-feu, proxy, antivirus, authentification LDAP & Radius, contrôle d'accès des portails applicatifs La haute disponibilité de la CHAINE DE SECURITE APPLICATIVE 1.1 La chaîne de sécurité applicative est
Découvrez notre solution Alternative Citrix / TSE
Découvrez notre solution Alternative Citrix / TSE OmniWare est un produit résolument moderne qui répond aux besoins actuels des entreprises en apportant une solution pour la mobilité des collaborateurs,
PPE 2-1 Support Systeme. Partie Support Système
PPE 2-1 Support Systeme Partie Support Système Sébastien MASSON 24/04/2013 0 Sommaire 1. DMZ 2 2. Serveurs Web 3 3. Logiciel d'inventaire 6 1 1. DMZ (Zone démilitarisée) Une DMZ est une zone tampon d'un
ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).
Nom du projet : Zabbix Description : ZABBIX est un logiciel open source créé par Alexei Vladishev. Zabbix permet de surveiller le statut de divers services réseau, serveurs et autres matériels réseau.
Mercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information [email protected] 02 38 64 26 41 Architecture Il est
Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source
David MAFFRAND Architecte SI E-mail : [email protected] Web : http://dmaf.free.fr Certifié Weblogic Server 6 Certifié webmethods Integration 4.6 Certifié webmethods Enterprise 5.0 Certifié webmethods
Migration NT4 vers Windows 2003 Server
Migration NT4 vers Windows 2003 Server Networking Intelligence Agency 07 janvier 2007-1 - 1. INTRODUCTION...- 3-2. DEFINITION...- 4-2.1. ANALYSE DE L EXISTANT... - 4-2.2. OBJECTIFS DE LA MIGRATION... -
Spécifications Techniques Générales. Techno Pole Internet. Lycée Djignabo / Ziguinchor
Techno Pole Internet Lycée Djignabo / Ziguinchor Sommaire 1 ARCHITECTURE LOGICIELLE 2 1.1 APACHE, UN SERVEUR POLYVALENT, PERFORMANT ET MONDIALEMENT RECONNU 2 1.2 ARCHITECTURE LOGICIELLE DU SERVEUR 2 1.3
10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service
10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore
Organiser les informations ( approche technique )
Organiser les informations ( approche technique ) Introduction : Le stockage des informations est une fonctionnalité essentielle de l outil informatique, qui permet de garantir la pérennité des informations,
LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1
LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version
Raspberry pi : Développer une petite application web sur Raspberry
Raspberry pi : Développer une petite application web sur Raspberry Introduction Le Raspberry Pi est un nano-ordinateur basé sur une architecture ARM (conçu par David Braden) qui permet l'exécution de plusieurs
PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES
PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes
Installer un espace de travail collaboratif et d e learning.
STG Travail collaboratif / c2i Mars 2008 Installer un espace de travail collaboratif et d e learning. Olivier Mondet http://unidentified one.net Lorsque l on désire installer une plateforme de travail
Installation d'un TSE (Terminal Serveur Edition)
Installation d'un TSE (Terminal Serveur Edition) Par LoiselJP Le 01/05/2013 (R2) 1 Objectifs Le TSE, comprenez Terminal Server Edition est une application de type 'main-frame' de Microsoft qui réside dans
PostgreSQL. Formations. Calendrier... 14
Formations PostgreSQL Catalogue 2013 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 Développer avec PostgreSQL... 8 Migrer d'oracle à PostgreSQL...
Fiche technique RDS 2012
Le 20/11/2013 OBJECTIF VIRTUALISATION [email protected] EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche technique RDS Objectif 02/04/2013 20/11/2013
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT
Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT Ce guide explique les différentes étapes de l installation et de la configuration des composantes
Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.
Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D. TABLE DES MATIÈRES I. Présentation de Joomla II. III. IV. Documents disponibles Installation de Joomla 3.1) Installation sur
Windows serveur 2008 installer hyperv
Windows serveur 2008 installer hyperv 1 Description Voici la description fournit par le site Microsoft. «Windows Server 2008 Hyper-V est le moteur de virtualisation (hyperviseur) fourni dans Windows Server
Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?
Le Guide Magento 1 Sommaire Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot? Chapitre 3 : Les fonctionnalités natives Chapitre 4 : Performance Chapitre
La version 3.0 de Corman S
La version 3.0 de Corman S 0. Généralités Versions précédentes : Version 1.0, développée sur plate-forme MS-DOS, et exploitée de 1996 à 1999 sur un réseau local Novell NetWare Version 2.0, développée sur
Manuel Utilisateur Version 1.6 Décembre 2001
Manuel Utilisateur Version 1.6 Décembre 2001 Table des matières TABLE DES MATIERES 2 PRESENTATION 4 À PROPOS DU FORMAT PDF 4 PDFMAIL : L ASSOCIATION DU FORMAT PDF ET DE L EMAIL 4 PRINCIPE DE FONCTIONNEMENT
PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau
Performances PHP Audit et optimisation LAMP Julien Pauli Cyril Pierre de Geyer Guillaume Plessis Préface d Armel Fauveau Groupe Eyrolles, 2012, ISBN : 978-2-212-12800-0 Préface Amener un projet web à maturité
L art d ordonnancer. avec JobScheduler. François BAYART
L art d ordonnancer avec JobScheduler François BAYART 30 Octobre 2010 [1] 234567 introduction Introduction Qui suis-je? François Bayart consultant système en solution libre et propriétaire Redhat (1996),
http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces
Maryem Rhanoui 2013 Alfresco Liens utiles Le site Alfresco : http://www.alfresco.com/fr/ Le Portail Content Community http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation,
Installation SharePoint Foundation 2013 en mode Stand-Alone
Installation SharePoint Foundation 2013 en mode Stand-Alone Nous avons pu voir dans un précédent article comment effectuer l installation de SharePoint sur Windows 2012 en mode Complete : Installation
Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Programmation Web. Introduction
Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)
Fiche Technique Windows Azure
Le 25/03/2013 OBJECTIF VIRTUALISATION [email protected] EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows
PostgreSQL. Formations. SQL avancé... 10. Calendrier... 18
Formations PostgreSQL Catalogue 2015 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 PostgreSQL Sauvegardes... 8 SQL : Conception & Mise en
les techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Guide d installation de SugarCRM Open Source version 4.5.1
Guide d installation de SugarCRM Open Source version 4.5.1 Version 1.0.2 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans notification. Disclaimer / Responsabilité
Les sites Internet dynamiques. contact : Patrick VINCENT [email protected]
Les sites Internet dynamiques contact : Patrick VINCENT [email protected] Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et
KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim
01/03/2013 Le rôle de Serveur Web (IIS) dans Windows Server 2008 R2 vous permet de partager des informations avec des utilisateurs sur Internet, sur un intranet ou un extranet. Windows Server 2008 R2 met
Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire 2014-2015 David Genest
Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI Année universitaire 2014-2015 David Genest Systèmes d exploitation Master 2 SILI 2014-2015 1 Chapitre I Virtualisation 1 Présentation
<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février 2008. Exposé Système et Réseaux : ApEx, Application Express d Oracle
ApExposé Cédric MYLLE 05 Février 2008 Exposé Système et Réseaux : ApEx, Application Express d Oracle Sommaire Introduction Les besoins L outil ApEx Le développement d applications
Installation de SharePoint Foundation 2013 sur Windows 2012
Installation de SharePoint Foundation 2013 sur Windows 2012 SharePoint 2013 est maintenant disponible et peut de ce fait être installé sur des environnements de production. De plus Windows 2012 est devenu
Nouveautés Ignition v7.7
... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential
Paul FLYE SAINTE MARIE
Paul FLYE SAINTE MARIE ASSISTANT CHEF DE PROJET DANS LE DÉVELOPPEMENT INFORMATIQUE Domaines de compétences Conduite de projet (échange avec la maitrise d ouvrage, maitrise d œuvre, rédaction des spécifications
Espace de travail collaboratif
Espace de travail collaboratif 1/10 Table des matières Présentation...3 Les modules...4 LiveCounter, Messenger et Moteur de recherche...5 Utilisateur, Administrateur et Invité...5 Droits d'accès au contenu...6
FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)
Publication par FTP FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur) Logiciels FTP nombreux (FileZilla, CuteFTP, WinSCP, FTP Expert).
Edito. Optimisation de la gestion d une Infrastructure Virtuelle. Questions / Réponses Amosdec Q3 2010 Numéro 7
Q3 2010 Numéro 7 Edito Dans un précédent cahier technique, «Migration de VI3 vers vsphere» http://www.amosdec.com/cahiers_techniques/dl/cahier_technique_2.pdf, différents scénarios pour réussir une migration
SIO-SISR : Projet GSB. LOT 1 : Evaluation d un logiciel d inventaire et de gestion de parc. BTS Services Informatiques aux Organisations 1 ère année
SIO BTS Services Informatiques aux Organisations 1 ère année LOT 1 : Evaluation d un logiciel d inventaire et de gestion de parc Objectifs : LOT 1 : Evaluation d un logiciel d inventaire et de gestion
Méthode d Évaluation des Coûts liés à l Open Source (ECOS)
Méthode d Évaluation des Coûts liés à l Open Source (ECOS) Version 1.0-31/03/2013 1 Table des matières 1 Note de licence 3 2 Historique des modifications 3 3 Introduction 3 3.1 Objet du document..........................
LA RECONNAISSANCE VOCALE INTEGREE
Fiche produit LA RECONNAISSANCE VOCALE INTEGREE 360 SpeechMagic SDK Capturer l information médicale grâce à la reconnaissance vocale DÉFI : Comment optimiser la création des comptes rendus et la capture
