Maison php教程 php手册 LAMP服务器性能优化技巧之加速PHP

LAMP服务器性能优化技巧之加速PHP

Jun 21, 2016 am 08:52 AM
apache eaccelerator nbsp quot

  目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:加速PHP。

  Apache服务器优化、PHP优化、Mysql优化

  1.使用eaccelerator

  我们上面的介绍Apache服务器的优化,如果您曾经浏览过 PHP 的网页时,或许会发现:怎么 PHP 的速度慢慢的,这是怎么一回事啊?PHP 不是号称速度上面的反应是很快速的吗?怎么会慢慢的呢?这是由于 PHP 的程序代码去调用了太多的函式库,而这些函式库每次调用都需要由硬盘读出来,有没有办法提升 PHP 的执行速度啊。如果我们可以将这些在硬盘里面的函式库先读到高速缓存中( Cache ),由于内存的速度可比硬盘快多了。如此一来的话,当然可以提升不少速度。

  2、软件下载安装:

  wget http://internap.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.3.tar.bz2

  tar jxf eaccelerator-0.9.3.tar.bz2

 

  /usr/local/bin/phpize

  ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/bin/php-config

  make;make install

 

  修改/etc/php.ini文件,加入以下内容:

 

  extension="/PATH/TO/eaccelerator.so"

  eaccelerator.shm_size="16"

  eaccelerator.cache_dir="/tmp/eaccelerator"

  eaccelerator.enable="1"

  eaccelerator.optimizer="1"

  eaccelerator.check_mtime="1"

  eaccelerator.debug="0"

  eaccelerator.filter=""

  eaccelerator.shm_max="0"

  eaccelerator.shm_ttl="0"

  eaccelerator.shm_prune_period="0"

  eaccelerator.shm_only="0"

  eaccelerator.compress="1"

  eaccelerator.compress_level="9"

 

  然后建立快存取数据目录:

 

  mkdir /tmp/eAccelerator

  chmod 0777 /tmp/eAccelerator

 

  从新启动Apache服务器:

 

  /etc/rc.d/init.d/httpd restart

 

  通过lynx浏览器打开Web页面查看通过phpinfo()已经可以看到图7,就表示安装成功。

  

 

  图7 eAccelerator启用

  从图中可以看到:eAccelerator启用了。下面 使用ab命令:Apache HTTP 服务器性能测试工具,是一个测试你Apache http服务器的工具,你可以通过这个工具指定一个单位时间内向apache发出的请求数量来看看你的Apache和机器配合的性能如何。命令如下:

 

  /home/apache/bin/ab -c 20 -n100 –w http://localhost/phpinfo >1.html

 

  -c: 同时向服务器端发送的请求数目,默认状态下是一次只执行一个http请求。

  -n: 执行一次测试会话的时候所发出的请求数目。

  -w:打印输出结果到HTML表中,默认的表是两列n行白底黑框 。

  ApacheBench)的测试数据的 requests per second (以下简称 rps)一项是指每秒服务器返回的页面数,经过比较使用了 eAccelerator 后网页速度明显加快了。图8 lynx浏览器的 HTML格式测试结果。

  

 

  图8 HTML格式测试结果

  3.使用Zend Optimizer

  Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间。

  Zend Optimizer安装是傻瓜化的,安装向导会自动根据你的选择来修改php.ini帮助你启动这个引擎。

  软件下载安装:

  wget http://downloads.zend.com/optimizer/3.0.0/ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz

  gunzip ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz

  tar vxf ZendOptimizer-3.0.0-linux-glibc21-i386.tar

  cd ZendOptimizer-3.0.0-linux-glibc21-i386

 

  ./install

 

  

 

  图 9 Zend Optimizer安装向导

  从新启动Apache服务器:

  /etc/rc.d/init.d/httpd restart

 

  打开Web页面查看通过phpinfo()已经可以看到图,就表示Zend Optimizer安装成功。

  

 

  图 10 Zend Optimizer安装成功

  然后可以使用ab命令进行再次测试。也可以使用Siege(http://www.joedog.org/siege/ )进行测试,它是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Application d'algorithmes dans la construction de 58 plateformes de portraits Application d'algorithmes dans la construction de 58 plateformes de portraits May 09, 2024 am 09:01 AM

1. Contexte de la construction de la plateforme 58 Portraits Tout d'abord, je voudrais partager avec vous le contexte de la construction de la plateforme 58 Portraits. 1. La pensée traditionnelle de la plate-forme de profilage traditionnelle ne suffit plus. La création d'une plate-forme de profilage des utilisateurs s'appuie sur des capacités de modélisation d'entrepôt de données pour intégrer les données de plusieurs secteurs d'activité afin de créer des portraits d'utilisateurs précis. Elle nécessite également l'exploration de données pour comprendre le comportement et les intérêts des utilisateurs. et besoins, et fournir des capacités côté algorithmes ; enfin, il doit également disposer de capacités de plate-forme de données pour stocker, interroger et partager efficacement les données de profil utilisateur et fournir des services de profil. La principale différence entre une plate-forme de profilage d'entreprise auto-construite et une plate-forme de profilage de middle-office est que la plate-forme de profilage auto-construite dessert un seul secteur d'activité et peut être personnalisée à la demande. La plate-forme de mid-office dessert plusieurs secteurs d'activité et est complexe ; modélisation et offre des fonctionnalités plus générales. 2.58 Portraits d'utilisateurs de l'arrière-plan de la construction du portrait sur la plate-forme médiane 58

Comment effectuer des tests de concurrence et le débogage dans la programmation simultanée Java ? Comment effectuer des tests de concurrence et le débogage dans la programmation simultanée Java ? May 09, 2024 am 09:33 AM

Tests de concurrence et débogage Les tests de concurrence et le débogage dans la programmation simultanée Java sont cruciaux et les techniques suivantes sont disponibles : Tests de concurrence : tests unitaires : isolez et testez une seule tâche simultanée. Tests d'intégration : tester l'interaction entre plusieurs tâches simultanées. Tests de charge : évaluez les performances et l'évolutivité d'une application sous une charge importante. Débogage simultané : points d'arrêt : suspendez l'exécution du thread et inspectez les variables ou exécutez le code. Journalisation : enregistrez les événements et l'état du fil. Trace de pile : identifiez la source de l’exception. Outils de visualisation : surveillez l'activité des threads et l'utilisation des ressources.

Comment ajouter un serveur dans Eclipse Comment ajouter un serveur dans Eclipse May 05, 2024 pm 07:27 PM

Pour ajouter un serveur à Eclipse, procédez comme suit : Créer un environnement d'exécution du serveur Configurer le serveur Créer une instance de serveur Sélectionner l'environnement d'exécution du serveur Configurer l'instance de serveur Démarrer le projet de déploiement du serveur

Comment tirer parti de Kubernetes Operator pour simplifier le déploiement cloud PHP ? Comment tirer parti de Kubernetes Operator pour simplifier le déploiement cloud PHP ? May 06, 2024 pm 04:51 PM

KubernetesOperator simplifie le déploiement du cloud PHP en suivant ces étapes : Installez PHPOperator pour interagir avec le cluster Kubernetes. Déployez l'application PHP, déclarez l'image et le port. Gérez l'application à l'aide de commandes telles que l'obtention, la description et l'affichage des journaux.

Comment implémenter les meilleures pratiques de sécurité PHP Comment implémenter les meilleures pratiques de sécurité PHP May 05, 2024 am 10:51 AM

Comment mettre en œuvre les meilleures pratiques de sécurité PHP PHP est l'un des langages de programmation Web backend les plus populaires utilisés pour créer des sites Web dynamiques et interactifs. Cependant, le code PHP peut être vulnérable à diverses failles de sécurité. La mise en œuvre des meilleures pratiques de sécurité est essentielle pour protéger vos applications Web contre ces menaces. Validation des entrées La validation des entrées est une première étape essentielle pour valider les entrées utilisateur et empêcher les entrées malveillantes telles que l'injection SQL. PHP fournit une variété de fonctions de validation d'entrée, telles que filter_var() et preg_match(). Exemple : $username=filter_var($_POST['username'],FILTER_SANIT

Structures de données et algorithmes Java : un guide pratique du cloud computing Structures de données et algorithmes Java : un guide pratique du cloud computing May 09, 2024 am 08:12 AM

L'utilisation de structures de données et d'algorithmes est cruciale dans le cloud computing pour gérer et traiter d'énormes quantités de données. Les structures de données courantes incluent des tableaux, des listes, des tables de hachage, des arbres et des graphiques. Les algorithmes couramment utilisés comprennent les algorithmes de tri, les algorithmes de recherche et les algorithmes graphiques. En tirant parti de la puissance de Java, les développeurs peuvent utiliser des collections Java, des structures de données thread-safe et des collections Apache Commons pour implémenter ces structures de données et algorithmes.

Quels sont les protocoles et bibliothèques couramment utilisés dans la programmation réseau Java ? Quels sont les protocoles et bibliothèques couramment utilisés dans la programmation réseau Java ? May 09, 2024 pm 06:21 PM

Protocoles et bibliothèques couramment utilisés pour la programmation réseau Java : Protocoles : TCP, UDP, HTTP, HTTPS, FTP Bibliothèques : java.net, java.nio, ApacheHttpClient, Netty, OkHttp

Un guide complet sur le déploiement conteneurisé de microservices PHP Un guide complet sur le déploiement conteneurisé de microservices PHP May 08, 2024 pm 05:06 PM

Un guide complet sur le déploiement de la conteneurisation de microservices PHP Introduction L'architecture de microservices est devenue une tendance en vogue dans le développement de logiciels modernes, qui décompose les applications en services indépendants et faiblement couplés. La conteneurisation offre un moyen efficace de déployer et de gérer ces microservices. Cet article fournira un guide étape par étape pour vous aider à conteneuriser et déployer des microservices à l'aide de PHPDocker. Docker Basics Docker est une plate-forme de conteneurisation légère qui regroupe une application et toutes ses dépendances dans un conteneur portable. Les étapes suivantes décrivent comment utiliser Docker : #Install Dockersudoapt-getupdatesudoapt-getinstalldock

See all articles