您好,欢迎访问一九零五行业门户网

最全的php服务器性能优化配置方案

要想用php做开发,并且想开发出很牛的程序,那么我们究竟如何去做呢?其实开发出一个性能很好的程序,服务器起到至关重要的作用,那么今天小编辑就为大家分享一套
php服务器配置方案。
[1]关于操作系统的选择
  php在linux/freebsd下面的性能比在windows主机下的性能更好。如果您没有必须使用windows主机的理由(比如需要使用asp.net或者sql server或者windows media server或者serv-u),那么我推荐您使用linux/freebsd。
如果您需要使用windows,推荐使用windows 2003 32位企业版,不推荐使用windows 2000(性能较差)。
如果您需要使用linux,推荐使用redhat enterprise linux(最新版本是redhat enterprise linux 4 beta1)。
如果您需要使用freebsd,推荐使用最新版本freebsd 5.2.1。
如果您的mysql和web分离,mysql主机推荐使用linux系统,通过linuxthread可以有很好的性能(linuxthread也可以在freebsd下面安装,但是比较麻烦) 
[2]关于web server的选择
  如果您使用的是windows,那么推荐使用iis6.0,不推荐使用apache(性能较差)。
如果您使用的是linux/freebsd,那么推荐使用zeus或apache(apache的最新版本是2.0.52/1.3.33)。
注意:zeus最新版本4.3版尚不支持freebsd 5.0版本。
zeus web server是目前全球性能最好的、速度最快的、功能最强大的、抗压性最优良的、安全性最佳的web服务器软件,但是是商业软件,费用比较贵(支持双至强启用超线程需要2200美元),网上面可以下载到zeus 4.3 for linux和freebsd 4.x的破解版本。国内很多大型论坛,单主机在线上万人的大多使用zeus,系统消耗比apache小很多。同时zeus支持服务器负载平衡,多个主机通过使用zeus load balancer可以实现超级规模站点的支持。
zeus的站点是 可以免费下载到30天试用版(其实和破解版本的区别只是授权文件)。使用说明参见:
[3]关于php运行方式的选择
windows主机需要安装php的完整版本,不能使用php.net提供的安装程序来安装,而应该手动安装。如果需要使用unicode(utf-8)编码,windows主机下如果是php4.3.x版本需要单独加载iconv()函数库(需要在php.ini中正确设置extension_dir,比如extension_dir = c:/php/extensions/
,同时需要取消;extension=php_iconv.dll一行前面的;号,并将c:/php/dlls/iconv.dll复制到c:/windows/system32目录下。
注意:php5.x版本无需而且不能这样设置),而linux/freebsd主机需要在编译php的时候加入iconv的参数(./configure--with-iconv)。
在windows下面,如果使用iis,推荐使用isapi方式来运行,千万不要使用cgi方式运行。您也可以使用fastcgi方式(需要下载fastcgi的模块并作相当多的配置),这个性能更好一些,如果再同时使用两个加速器(zend optimizer、mmcache),测试下来居然可以接近freebsd下使用zend performance suite的效果,但是我测试稳定性比较差,当线程超过fastcgi所限制的最大并发线程,某些时候有可能导致fastcgi进程死掉,进而无法访问任何站点,只能重起服务器来解决。
linux/freebsd下面,如果使用apache作为web server,推荐将php作为apache的模块来运行。如果使用zeus作为web server,要求使用fastcgi方式来运行php,但是fastcgi有可能出现死掉进程的问题,在停止zeus时,有时候会不能停止成功,使得pidfile不能清除,下次再启动时,fastcgi会无法启动。如果遇到bad gateway错误,需要检查pidfile是否清除,如果没有则手动清除再重启zeus。最好的办法是使用crontab,定时自动重启fastcgi。
关于fastcgi的问题,在某些主机下运行很正常,若干个月不会有任何问题。而有些主机却比较频繁,不论是windows或者linux/freebsd,看运气吧。
[4]关于php免费加速器的选择
可以使用的免费加速器主要有zend optimizer、turck mmcache、ioncube php accelerator。
(1)zend optimizer
官方站点 
最新版本 2.5.5
下载地址 
(2)turck mmcache
官方站点 
最新版本 2.4.6 for php v4.3.4/5.0.0b2
下载地址 
需要注意的是php最新版本是4.3.9/5.0.2,所以如果您需要在php的最新版本下使用turck mmcache,需要进行单独编译。我在这个主题的附件里面上传了编译好的turck mmcache v2.4.7 cvs for php v4.3.9和turck mmcache v2.4.7 cvs for php v5.0.2两个版本需要的文件,先安装mmcache 2.4.6,然后将我提供的压缩包里面的文件改名为mmcache.dll,替换旧文件即可,注意:这两个文件只适用于windows主机,如果您需要在linux/freebsd下面使用,需要单独编译mmcache。
但是需要说明的是mmcache for php5.0.2的版本,在php 5.0.2下面使用存在bug,推荐在php5.0.2下暂时不要使用mmcache。
(3)ioncube php accelerator(phpa)
官方站点 
最新版本 1.3.3r2 builds for php 4.3.0
这个软件只能在solaris/freebsd/linux下面使用,不支持windows,而且不支持php的最新版本。而zend optimizer、turck mmcache都是支持各种服务器(windows/linux/freebsd)、各种web server(iis/apache/zeus)以及php的各种版本的。所以我不推荐使用此软件。 
[5]关于php收费加速器的选择
可以使用的收费加速器主要有zend winenabler、zend performance suite。
(1)zend winenabler
官方站点 
不知道什么原因,zend官方最近突然将所有与此软件有关的网页全部删除了,这个软件难道不再出售了吗?这是zend performance suite在windows下面的版本,使用fastcgi方式运行的php,估计是稳定性不能保障吧。
(2)zend performance suite
官方站点 
最新版本 4.0
这个软件只能用在linux/freebsd下面,支持apache和zeus。据称可以提升php程序20倍的速度,但是售价比较昂贵,1875美元起。网上面可以下载到破解版本,不过是3.6.0/3.5.0版,不支持php 5.0。zend accelerator和早期的zend cache的功能都被包含于此套件当中。注意:如果使用此软件对php程序进行缓存,则对文件的任何修改都需要重起web server才能生效。
[6]关于mysql的安装
推荐安装mysql 4.0.x/4.1.x版本,当前最新版本是4.0.22/4.1.17。mysql4.0以上版本可以使用query cache大幅度提升性能(需要在my.ini里面设置)。mysql4.1以上采用新的协议,速度更提升30%以上,内存占用更少。
对于mysql4.1.x版本,php 5.x在原有mysql扩展之外提供了专有mysqli函数扩展连接mysql4.1.x版本,这样在mysql4.1.x下,使用mysqli扩展相对于使用mysql扩展可以提升数十倍的sql操作速度。极致论坛程序自带的使用的是mysql扩展,我们另外提供了单独出售的极致论坛mysqli扩展模块,您可以选购使用。
对于windows主机,安装mysqld-nt即可,没必要使用mysqld-max-nt。
注意:如果您在windows下面运行mysql 4.0.x,您需要手工对每个数据表执行如下sql操作,才能确保您的数据库稳定不会出现数据表错误:
alter table table_name type=myisam;
其中table_name是数据表的名称。
对于linux主机,可以安装glibc,当前最新版本2.3.3,下载地址 然后安装里面的linuxthreads。可以参考 
对于freebsd主机,也可以安装linuxthreads,就是编译比较麻烦。
文章内容有点多,但是要想开发出最好的php程序,就必须学会这些优化方案,这样你开发出的程序才会更完美你。
以上就是最全的php服务器性能优化配置方案的详细内容。
其它类似信息

推荐信息