Optimiser une application PHP Oracle
Contexte
L'application PHP utilise un serveur http Apache et une base Oracle 10g sous Windows. Cette application spécifique est utilisée par environ 50 utilisateurs.
Diagnostic
L'examen de la configuration amène rapidement à certaines constatations :
- les sessions WEB ferment la connexion Oracle Ă chaque fin de transaction
- il manque quelques index
- il y a beaucoup de SQL dynamique
Les corrections apportées
Voici les actions correctives mise en place ou conseillées
- modification du fichier php.ini Apache et du code de connexion (option PERSISTENT=TRUE)
- ajout de quelques index
- recommandations visant à limiter l'utilisation du SQL dynamique sur les écrans les plus utilisés (le mode CURSOR_SHARING d'Oracle posant des problèmes sur cette combinaison de l'application et de la version Oracle)
- des recommandations sur les améliorations à mettre en œuvre sur les sauvegardes (mode ARCHIVELOG, RMAN, etc...)
Bilan de l'intervention
Il a suffi de quelques minutes pour identifier et éliminer la cause principale des problèmes : une succession de connexions / déconnexions. De plus, en se concentrant sur les transactions les plus utilisées et en travaillant à les améliorer, c'est l'ensemble du système qui devient plus fluide. Enfin, quelques actions d'optimisation sur la base ont ajouté aux améliorations déjà obtenues. Ce fut une intervention très rentable pour notre client !