提升PHP程序运行速度的几个优化方案

1、服务器使用Linux系统

Linux系统做服务器在很多方面都比windows优秀,很多地方性能相差很大,如果你的服务器上没有ASP、ASP.net等程序,强烈建议使用Linux系统,Centos、Ubuntu、Debian等系统都是Linux内核。不仅Linux性能好,而且Linux服务器还便宜,特别是国外的服务器,由于Windows Server是收费的,很多国外Win服务器都比Linux贵。

虽然Linux系统操作起来会比Windows复杂许多,但是我们可以查资料学,只要学会了基本的服务器安装使用操作,你一定会爱上Linux。后期有时间火端会搞个入门教程,让大家都能轻松用上Linux服务器。

2、使用Nginx或Apache来运行PHP

很多使用Win服务器的站长,都是用IIS来跑PHP,甚至还有人使用IIS6来跑,这大大影响了PHP的发挥,访问量少的情况下可能不太明显,访问量一大就能感觉到区别了。如果你坚持使用Win服务器,建议使用Nginx或Apache来跑PHP。不会搭建环境,建议使用PHPstudy软件一键搭建,可以随意切换Nginx、Apache、IIS以及PHP版本。

3、开始使用PHP7

如果你的程序支持PHP7,强烈建议你使用PHP7,PHP7相对PHP5.X有大大的性能提升,在很多算法上会比后者快两三倍!如果你的程序没法兼容PHP7,那也尽量升级到PHP5.6。火端搜索就完美支持PHP7。

4、使用OPcache加速PHP运行

OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是省去了每次加载和解析 PHP 脚本的开销。PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。

开启OPcache也很简单

1、打开php.ini文件
2、找到:[opcache],设置为:

  1. [opcache]
  2. ; dll地址
  3. zend_extension=php_opcache.dll
  4. ; 开关打开
  5. opcache.enable=1
  6. ; 开启CLI
  7. opcache.enable_cli=1
  8. ; 可用内存, 酌情而定, 单位为:Mb
  9. opcache.memory_consumption=528
  10. ; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)
  11. opcache.interned_strings_buffer=8
  12. ; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值
  13. opcache.max_accelerated_files=10000
  14. ; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 定位为秒
  15. opcache.revalidate_freq=1
  16. ; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高
  17. opcache.fast_shutdown=1

5、避免频繁操作数据库

大多数网站的瓶颈都是操作数据库这块,很多时候我们并不需要频繁访问数据库,这时候我们可以把数据缓存下来,用Redis、memcache或文件缓存都可以。比如火端网络官方网站,大多数页面的数据都是缓存下来的,都是不需要读数据库的。

6、使用SSD硬盘做服务器

固态硬盘只是提升文件读写速度,对PHP一般的执行影响不大,但如果需要PHP频繁操作文件,那SSD硬盘就发挥它的作用了。

php.ini如下配置

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

时间: 2024-08-02 19:23:06

提升PHP程序运行速度的几个优化方案的相关文章

小程序弱网环境卡顿怎么办?一招迅速提升小程序运行速度

2018 年 1 月 15 日,微信公开课 PRO 在广州正式"开课".与往年不同,今年的微信公开课将整场大会的焦点都放在了小程序上.从 2017 年 1 月上线到现在,小程序依托于微信这个庞大的流量机器,在不知不觉间构建了一个新型的移动互联网生态圈. 微信小程序从麦当劳.肯德基等在线点餐服务到共享单车.共享充电宝等租用服务,再到与京东.拼多多等电商结合,小程序正在全方位的"入侵"人们的衣食住行.  △ 知晓程序官网小程序分类 张小龙在微信公开课上讲到:"

zw.delphi不同版本程序运行速度测试

{ zw.delphi不同版本程序运行速度测试 delphi无论是开发,编译,还是运行,速度方面向来不差,笔者很少进行这种微粒度的优化,调试. 最近,因为项目需要,发现:同一个函数模块,差不多同样的代码,升级后,比2007慢2-3倍 涉及字符串.thashedlist,起初,感觉是uncode字符串函数,替换qstring函数的问题. 测试后,发现: 在短字符串方面,thashedstringlist,甚至字符串退换方面,xe10优化的更好,比d2007速度快20-50%, 真正的瓶颈,出现在x

提升网站转化率的四步优化方案

优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果.今天,我就分享一个简单有效的四步优化方案模型,可以用于建立一个成功的转化优化方案. 何为转化率?转化率是指访问某一网站访客中,转化的访客占全部访客的比例.这里所说的“转化”,可以是从单纯的访问您网站转变成为您网站会员(即注册会员)的行为,可以是您网站的会员从零购买经历转变成为有购买经历的会员的行为,可以是从单纯的网站访客转变成为参加您网站活动的访客的行为,可以是您的潜

面向.Net程序员的后端性能优化实战

最近2个月没做什么新项目 完全是对于旧的系统进行性能优化 避免超时 死锁 数据处理能力不够等常见的性能问题 这里不从架构方面出发 毕竟动大手脚成本比较高 那么我们以实例为前提 从细节开始 优化角度 一.业务逻辑优化 二.DB优化 三.数据处理优化 四.锁与性能 五.cpu飙高小结 六.crash现象分析 业务逻辑优化 这一条不具有普遍性 不同的业务不同的场景 如果归纳起来 就是在不影响业务的前提下进行流程精简 1. 废弃冗余逻辑 常见于各种基于数据库的检查 很多同学在维护别人代码的时候 没有深入

Silverlight控件——如何提升应用程序信任度与问题解决

从silverlight5开始,可以在项目设置中勾选“在浏览器内运行时需要提升的信任”来达到在浏览器内运行提权silverlight客户端的目的,在个特性很有用处. 可我使用这个功能时遇到了一个奇怪的故障:我使用visual studio 2010开发一个silverlight5项目,发现上面那个设置项不起作用,无论是否勾选它,代码中的 App.Current.HasElevatedPermissions总会返回false,那些需要提权运行的操作自然也都会失败.累死好几千脑细胞后 才发现故障原因

PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案

一:PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案 (1) php服务器把图片处理成缩率图或指定大小的图片在通过PHP程序代码 操作FTP 上传到图片服务器. 二:图片服务器的优化方案 (1)用独立的图片服务器处理图片[LigHttpd图片服务器],从处理图片上来看性能要高过Apached和nginx.(2)查看是否是带宽问题导致=>>>确保带宽充足(3)硬盘的IO读写性能[磁盘列阵=>购买多个磁盘] 1)raid0:至少两个硬盘,图片保存在不同的磁盘上.

Unity3d程序方面的细节及优化

关于Unity3d程序方面的细节及优化 (基于移动开发) 1.每次创建的脚本对于用不到的Start(),.Update()函数都可以删除掉,尤其后者,即使什么都不做也会在更新. 2.不要做复杂的数学运算,比如开方运算Mathf.Sqrt()等,当我们求两个对象的距离的时候,可以直接自己计算求开方根上一级的运算.求三角函数也算复杂运算. 3.如果使用的Mono编辑器,在注释的时候,尽量采用英文注释(防止中文乱码) 4.Unity的每个component都在更新,脚本也算组件,所以一个对象不同的脚本

针对MySQL大表优化方案

详解MySQL大表优化方案 (1).字段 (2).索引 (3).规范查询SQL (4).存储引擎 (5).mysql配置参数优化 (6).mysql读写分离 (7).分区和分表 单表优化: 当单表的数据不是一直在暴增,不建议使用拆分,拆分会带来逻辑,部署,运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量 (1).字段 l 尽量使用TINYINT.SMALLINT

[转] 钉钉的H5性能优化方案

对于一个H5的产品,功能无疑很重要,但是性能同样是用户体验中不可或缺的一环.原本H5的渲染性能就不及native的app,如果不把性能优化做起来,将极大地影响用户使用产品的积极性. 用户感受 当用户能够在1-2秒内打开H5页面,看到信息的展示,或者能够开始进行下一步的操作,用户会感觉速度还好,可以接受:而页面如果在2-5秒后才进入可用的状态,用户的耐心会逐渐丧失:而如果一个界面超过5秒甚至更久才能显示出来,这对用户来说基本是无法忍受的,也许有一部分用户会退出重新进入,但更多的用户会直接放弃使用.