Maison > Article > développement back-end > La solution de configuration d'optimisation des performances du serveur PHP la plus complète
Si vous souhaitez utiliser PHP pour le développement et développer des programmes géniaux, comment procédons-nous ? En effet, pour développer un programme performant, le serveur joue un rôle essentiel, c'est pourquoi aujourd'hui l'éditeur partagera avec vous un ensemble de
plan de configuration du serveur PHP.
[1] Concernant le choix du système d'exploitation
Les performances de PHP sous Linux/FreeBSD sont meilleures que celles sous les hôtes Windows. Si vous n'avez aucune raison d'utiliser un hôte Windows (par exemple, vous devez utiliser ASP.net ou SQL Server ou Windows Media Server ou Serv-U), alors je vous recommande d'utiliser Linux/FreeBSD.
Si vous devez utiliser Windows, il est recommandé d'utiliser Windows 2003 32 bits Enterprise Edition. Windows 2000 n'est pas recommandé (mauvaises performances).
Si vous devez utiliser Linux, il est recommandé d'utiliser RedHat Enterprise Linux (la dernière version est RedHat Enterprise Linux 4 beta1).
Si vous devez utiliser FreeBSD, il est recommandé d'utiliser la dernière version FreeBSD 5.2.1.
Si votre MySQL et votre Web sont séparés, il est recommandé d'utiliser le système Linux pour l'hôte MySQL, qui peut avoir de bonnes performances via LinuxThread (LinuxThread peut également être installé sous FreeBSD, mais c'est plus gênant)
[ 2] A propos du choix du serveur Web
Si vous utilisez Windows, il est recommandé d'utiliser IIS6.0, et Apache n'est pas recommandé (mauvaises performances).
Si vous utilisez Linux/FreeBSD, il est recommandé d'utiliser Zeus ou Apache (la dernière version d'Apache est la 2.0.52/1.3.33).
Remarque : La dernière version de Zeus, la version 4.3, ne prend pas encore en charge FreeBSD version 5.0.
Zeus Web Server est actuellement le logiciel de serveur Web le plus performant, le plus rapide, le plus puissant, le plus résistant à la pression et le plus sécurisé au monde. Cependant, il s'agit d'un logiciel commercial et relativement coûteux (prenant en charge les doubles Xeons et l'activant). l'hyper-threading coûte 2 200 $ US). Les versions crackées de Zeus 4.3 pour Linux et FreeBSD 4.x peuvent être téléchargées en ligne. De nombreux grands forums en Chine, avec des dizaines de milliers de personnes en ligne sur un seul hôte, utilisent principalement Zeus, et la consommation du système est bien inférieure à celle d'Apache. Dans le même temps, Zeus prend en charge l'équilibrage de charge du serveur. Plusieurs hôtes peuvent prendre en charge des sites à grande échelle en utilisant Zeus Load Balancer.
Le site Web de Zeus vous permet de télécharger gratuitement une version d'essai de 30 jours (en fait, la seule différence avec la version crackée est le fichier d'autorisation). Pour les instructions d'utilisation, voir :
[3] À propos du choix du mode d'exécution de PHP
Les hôtes Windows doivent installer la version complète de PHP. Vous ne pouvez pas utiliser le programme d'installation fourni par php.net pour l'installer. il, mais devrait l'installer manuellement. Si vous devez utiliser l'encodage Unicode (UTF-8), s'il s'agit de la version php4.3.x sous l'hôte Windows, vous devez charger la bibliothèque de fonctions iconv() séparément (extension_dir doit être défini correctement dans php.ini, par exemple comme extension_dir = "C:/php/ extensions/"
, et vous devez annuler le signe ; devant la ligne ;extension=php_iconv.dll, et copier c:/php/dlls/iconv.dll dans le c:/windows/system32
Remarque : la version php5.x n'a pas besoin et ne peut pas être définie comme ceci), et l'hôte Linux/FreeBSD doit ajouter le paramètre iconv (./configure--with-iconv). ) lors de la compilation de PHP.
Sous Windows, si vous utilisez IIS, il est recommandé d'utiliser ISAPI pour exécuter. Vous pouvez également utiliser FastCGI (vous devez télécharger le module FastCGI et faire beaucoup de configuration), qui a de meilleures performances si vous utilisez deux accélérateurs (Zend Optimizer, MMCache) en même temps, après test, c'est en fait proche. en utilisant Zend Performance sous FreeBSD. L'effet de Suite, mais la stabilité que j'ai testée est relativement mauvaise. Lorsque le thread dépasse la limite maximale de threads simultanés limitée par FastCGI, cela peut entraîner la mort du processus FastCGI à un moment donné, et ne peut alors accéder à aucun. site. La seule solution est de redémarrer le serveur.
Sous Linux/FreeBSD, si vous utilisez Apache comme serveur Web, il est recommandé d'exécuter PHP en tant que module Apache. Si vous utilisez Zeus comme serveur Web, vous devez utiliser FastCGI pour exécuter PHP. Cependant, FastCGI peut rencontrer un problème de processus morts, parfois il ne s'arrête pas correctement, de sorte que le PIDFILE ne peut pas être effacé. la prochaine fois que vous démarrerez FastCGI, le démarrage ne sera pas réussi. Si vous rencontrez une mauvaise erreur de passerelle, vous devez vérifier si le PIDFILE est effacé. Sinon, effacez-le manuellement et redémarrez Zeus. Le meilleur moyen est d'utiliser crontab pour redémarrer automatiquement FastCGI régulièrement.
Concernant le problème de FastCGI, il fonctionne normalement sur certains hébergeurs et il n'y aura aucun problème avant plusieurs mois. Mais certains hébergeurs sont plus fréquents, que ce soit Windows ou Linux/FreeBSD, cela dépend de votre chance.
[4] Concernant la sélection d'accélérateurs PHP gratuits
Les accélérateurs gratuits pouvant être utilisés incluent principalement Zend Optimizer, Turck MMcache et ionCube PHP Accelerator.
(1)Zend Optimizer
Site officiel
Dernière version 2.5.5
Adresse de téléchargement
(2)Turck MMCache
Site officiel
Dernière version 2.4.6 pour PHP v4 .3.4/5.0.0b2
Adresse de téléchargement
Il est à noter que la dernière version de PHP est la 4.3.9/5.0.2, donc si vous devez utiliser Turck MMCache sous la dernière version de PHP, vous avez besoin pour le compiler séparément. J'ai téléchargé les fichiers requis pour les CVS compilés Turck MMCache v2.4.7 pour PHP v4.3.9 et Turck MMCache v2.4.7 pour PHP v5.0.2 dans la pièce jointe de ce thème. Installez d'abord MMCache 2.4.6, puis renommez-le. dans le package compressé que j'ai fourni à mmcache.dll et remplacez l'ancien fichier. Remarque : ces deux fichiers ne s'appliquent qu'aux hôtes Windows. Si vous devez l'utiliser sous Linux/FreeBSD, vous devez compiler MMCache séparément.
Il est cependant à noter que la version de MMCache pour PHP5.0.2 présente des bugs lorsqu'elle est utilisée sous PHP 5.0.2. Il est recommandé de ne pas utiliser MMCache sous PHP5.0.2 pour le moment.
(3) ionCube PHP Accelerator (PHPA)
Site officiel
La dernière version 1.3.3r2 est construite pour PHP 4.3.0
Ce logiciel ne peut être utilisé que sous Solaris/FreeBSD/Linux et non prend en charge Windows et ne prend pas en charge la dernière version de PHP. Zend Optimizer et Turck MMcache prennent en charge divers serveurs (Windows/Linux/FreeBSD), divers serveurs Web (IIS/Apache/Zeus) et différentes versions de PHP. Je ne recommande donc pas d'utiliser ce logiciel.
[5] Concernant la sélection des accélérateurs PHP payants
Les principaux accélérateurs payants pouvant être utilisés sont Zen d WinEnabler et Zend Performance Suite.
(1)Zend WinEnabler
Site officiel
Pour une raison inconnue, le site officiel de Zend a soudainement supprimé toutes les pages Web liées à ce logiciel. Ce logiciel n'est-il plus en vente ? Il s'agit de la version de Zend Performance Suite sous Windows. Elle utilise PHP fonctionnant en mode FastCGI, donc la stabilité n'est probablement pas garantie.
(2) Zend Performance Suite
Site officiel
Dernière version 4.0
Ce logiciel ne peut être utilisé que sous Linux/FreeBSD et supporte Apache et Zeus. On dit qu'il peut multiplier par 20 la vitesse des programmes PHP, mais le prix est relativement élevé, à partir de 1 875 dollars. Vous pouvez télécharger la version crackée en ligne, mais il s'agit de la version 3.6.0/3.5.0 et ne prend pas en charge PHP 5.0. Les fonctionnalités de Zend Accelerator et des versions antérieures de Zend Cache sont incluses dans ce package. Remarque : Si vous utilisez ce logiciel pour mettre en cache des programmes PHP, toute modification du fichier nécessitera le redémarrage du serveur Web pour prendre effet.
[6] À propos de l'installation de MySQL
Il est recommandé d'installer MySQL version 4.0.x/4.1.x. La dernière version est la 4.0.22/4.1.17. MySQL 4.0 et versions ultérieures peuvent utiliser le cache de requêtes pour améliorer considérablement les performances (doit être défini dans my.ini). MySQL 4.1 ou supérieur adopte un nouveau protocole, qui augmente la vitesse de plus de 30 % et occupe moins de mémoire.
Pour la version MySQL4.1.x, PHP 5.x fournit une extension de fonction mysqli propriétaire en plus de l'extension mysql d'origine pour se connecter à la version MySQL4.1.x de cette manière, sous MySQL4.1.x. , l'utilisation de l'extension mysqli est relativement L'utilisation de l'extension mysql peut augmenter la vitesse des opérations SQL des dizaines de fois. Le programme Ultimate Forum est livré avec l'extension mysql. Nous fournissons également le module d'extension Ultimate Forum mysqli vendu séparément, que vous pouvez acheter et utiliser.
Pour les hôtes Windows, installez simplement mysqld-nt. Il n'est pas nécessaire d'utiliser mysqld-max-nt.
Remarque : si vous exécutez MySQL 4.0.x sous Windows, vous devez effectuer manuellement les opérations SQL suivantes sur chaque table de données pour vous assurer que votre base de données est stable et qu'il n'y aura pas d'erreurs dans la table de données :
ALTER TABLE table_name type=MyISAM;
Où table_name est le nom de la table de données.
Pour les hôtes Linux, vous pouvez installer la glibc, la dernière version est la 2.3.3, télécharger l'adresse puis installer les LinuxThreads à l'intérieur. Vous pouvez vous référer à
Pour les hôtes FreeBSD, vous pouvez également installer LinuxThreads, mais la compilation est plus gênante.
L'article a beaucoup de contenu, mais si vous souhaitez développer le meilleur programme PHP, vous devez apprendre ces solutions d'optimisation, afin que le programme que vous développez soit plus parfait pour vous.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!