Mysql
 sql >> Base de données >  >> RDS >> Mysql

Meilleures pratiques pour optimiser les sites LAMP pour la vitesse ?

Voici quelques incontournables personnels que je configure toujours dans mes applications LAMP.

  • Installez mod_deflate pour apache, et n'utilisez pas les gestionnaires gzip de PHP. mod_deflate vous permettra de compresser le contenu statique, comme javascript/css/html statique, ainsi que la sortie PHP dynamique habituelle, et c'est une chose de moins dont vous avez à vous soucier dans votre code.

  • Soyez prudent avec les fichiers .htaccess !L'activation des fichiers .htaccess pour les répertoires de votre application signifie qu'Apache doit constamment analyser le système de fichiers, à la recherche de directives .htaccess. Il est de loin préférable de placer les directives dans la configuration principale ou dans une configuration vhost, où elles sont chargées une seule fois. Chaque fois que vous pouvez vous débarrasser d'un fichier d'accès au niveau répertoire en le déplaçant dans un fichier de configuration principal, vous économisez du temps d'accès au disque.

  • Préparez la couche de base de données de votre application pour utiliser un gestionnaire de connexion quelconque (j'utilise un Singleton pour la plupart des applications). Ce n'est pas très difficile à faire, et réduire le nombre de connexions à la base de données que votre application ouvre permet d'économiser des ressources.

  • Si vous pensez que votre application verra une charge importante, memcached peut faire des miracles. Gardez cela à l'esprit pendant que vous écrivez votre code... peut-être qu'un jour au lieu de créer des objets à la volée, vous les obtiendrez de memcached. Un peu de prévoyance rendra la mise en œuvre indolore.

  • Une fois que votre application est opérationnelle, définissez le temps de requête lente de MySQL sur un petit nombre et surveillez attentivement le journal des requêtes lentes. Cela vous montrera d'où viennent vos requêtes problématiques et vous permettra d'optimiser vos requêtes et vos index avant qu'ils ne deviennent un problème.

  • Pour les tweakers sérieux en matière de performances, vous devrez compiler PHP à partir des sources. L'installation à partir d'un package installe de nombreuses bibliothèques que vous n'utiliserez peut-être jamais. Étant donné que les environnements PHP sont chargés dans chaque instance d'un thread Apache, même une surcharge de mémoire de 5 Mo provenant de bibliothèques supplémentaires devient rapidement 250 Mo de mémoire perdue lorsqu'il n'existe pas 50 threads Apache. Je garde une liste de ma ligne standard ./configure que j'utilise lors de la construction de PHP ici , et je trouve qu'il convient à la plupart de mes applications. L'inconvénient est que si vous finissez par avoir besoin d'une bibliothèque, vous devez recompiler PHP pour l'obtenir. Analysez votre code et testez-le dans un environnement de développement pour vous assurer que vous disposez de tout ce dont vous avez besoin.

  • Minifiez votre Javascript.

  • Soyez prêt à déplacer du contenu statique, tel que des images et des vidéos, vers un serveur Web non dynamique. Écrivez votre code afin que toutes les URL des images et des vidéos soient facilement configurées pour pointer vers un autre serveur à l'avenir. Un serveur Web optimisé pour le contenu statique peut facilement servir des dizaines, voire des centaines de fois plus rapidement qu'un serveur de contenu dynamique.

C'est ce que je peux penser du haut de ma tête. En cherchant sur Google les meilleures pratiques PHP, vous trouverez de nombreux conseils sur la façon d'écrire du code plus rapidement/meilleur (tels que :echo est plus rapide que print ).