php性能优化

遇到性能问题
一.什么情况下会遇到php性能问题?
1.  php语法使用不恰当
2.  使用php语言做了其不擅长的事
    3.使用php语言连接的服务不给力
    4.php自身的短板
    5.不知道问题

                        解决性能问题
性能优化项目,不要局限于优化php
一般php性能问题不到项目问题的一般
一.  Php的性能问题的解决方向
Php语言级的性能优化  php周边问题的性能优化 php语言自身分析,优化
二.  压力测试工具简介
Apache Benchmark (ab)
简介:ab是由apache提供的压力测试软件,安装apache服务器是会自带该压力软件。
如何使用:
    ./ab   -n100  -c100      http://www.baidu.com
           -n请求数
                    -c并发数
                                url目标测压地址
三.  Php语言级性能优化
1).优化点:少写代码,多用php自身能力
性能问题:
        自写代码冗余量较多,可读性不佳,并且性能低
为什么性能低?
Php代码需要编译解析为底层语言,这一过程每次请求都会吃力一遍,开销大
好的方法:
        多使用php内置变量、常量、函数
2).优化点:php内置函数的性能优化
    情况描述:
        Php的内置函数之间存在快慢差异
    好的建议:
        多去了解php的内置函数的时间复杂度
3).优化点:尽可能少用魔法函数
    time php good.php     查看user项
4).化点:产生额外开销的错误抑制符@(不使用)
5).优化点:合理使用内存
    利用unset()及时释放不使用的内存(注意:unset注销不掉的情况)
6).优化点:尽量少的使用正则表达式,优化正则表达式
7).优化点:避免在循环内做运算
        $strlen  = strlen($str);
        For($i=0;$i <= $strlen;$i++){
        }
8).优化点:减少密集型业务
        Php语言特性决定了php不太适合做大数据量运算
        Php适合衔接webserver与后端服务、UI呈现
        也就说文本处理
    9).优化点:务必使用带引号的字符串做键值
四.Php周边问题的性能优化
     Php 周边都有什么?
                Linux运行环境
                硬盘->文件存储
                数据库
                软硬结合的缓存机制
                当通过网络连接周边环境时(网络也是一点)
     1).减少文件类的操作
            常见的php场景的开销次序:
                读写磁盘、读写数据库、读写内存、读写网络数据
                读写内存 << 读写数据库  (内存要小于磁盘)< 读写磁盘
 < 读写网路数据
      2).优化网络请求
             网络请求的坑:
                    1.对方接口的不确定因素
                    2.网络的稳定性
             如何优化网络请求:
1、  设置超时时间
a)连接超时  200ms
b)读超时    800ms
c)写超时     500ms
                    2、将串请求并行化
                        a)使用curl_multi_*()
                        b)使用swoole扩展
        3).压缩php接口输出
            如何压缩
                使用Gzip即可
            压缩输出的利与弊?
                利:利于我们的数据输出  client断能更快获得数据
                弊:额外的cpu开销
        4).缓存重复计算内容
             什么况下输出内容的缓存?
                 请求多次,内容不变的情况下
                 多用模板请求模块  smarty开启caching
        5).旁路方案   后一个任务不强依赖前一个任务
五.php性能瓶颈解决办法
        Opcode cache :php扩展apc
             Pecl.php.net   php官方站点
       扩展实现:通过php扩展代替原php代码中高频逻辑
        Runtime优化:HHVM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值