php项目优化笔记

大体上我们分为3部分:php语言级性能优化;下面我们一一介绍
在优化之前呢,我们先说一下压测
这里用apache的ab模块
命令:ab -n100 -c10 网址
-n请求次数 -c并发数
压测的结果我们主要看两个参数requests per second(每秒处理请求数) 和time per request(处理一个请求花费时间)

一. php语言级性能优化

  1. 尽量使用php内置函数,如数组合并之类的,并且选择高效的php函数,它主要加快php扫描转译为zend时间
  • 较运行方法:time php 文件 可以查看php文件运行时间;也可以在运行之前和之后分别获取一下时间
  1. 减少php魔术方法的使用
  2. 尽量少的使用@符,其原理即在使用的前行关闭error_display;后行再开启;增加消耗,使用try catch错误机制抛出
  3. 及时unset掉不用的数组和变量
  4. 少用正则,可以使用字符串函数
  5. 循环时的条件尽量不要运算

二.php周边问题

  • 主要时一下几个方面会影响性能
  1. linux运行环境
  2. 文件存储
  3. 数据库
  4. 缓存
  5. 网络
  • 常见的php场景开销次序:
    读写内存 << 读写数据库 < 读写磁盘 < 网络请求;所以我们尽量避免php直接操作磁盘
  1. 这里来说说网络请求优化
  • 设置超时时间:主要有连接超时(建议200ms),读超时(800ms),写超时(500ms)
  • 将串行化改为并行化(使用一些php扩展,理论上就是增加旁路或者使用时间窗口重叠,但这样的前提是后面的步骤不依赖于前一步的结果)
  1. 提高接口速度
  • 使用缓存,静态化

三. php性能分析工具

这里使用XHprof工具进行分析
安装及使用:https://www.cnblogs.com/dannywang/p/9243682.html
使用php --ri 查看扩展是否搭建

  • 在项目中使用:
    在入口文件开始写入xhprof_enable();
    结束写入
$xhprof_data = xhprof_disable();
include_once '/var/www/html/xhprof/xhprof_lib/utils/xhprof_lib.php';
include_once '/var/www/html/xhprof/xhprof_lib/utils/xhprof_runs.php';
$xhprof_runs = new \XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, 'your_project');//$run_id 就是产生的文件

生成的报告主要看几个参数
Function Name(方法名);Calls(函数被调用次数);Incl. Wall Time (执行此方法和后面程序所需时间,单位微秒); Exel. Wall Time(此方法执行所需时间);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值