zoukankan      html  css  js  c++  java
  • PHP性能优化

    一.PHP语言级性能优化
    1.优化点:少写代码,多用PHP自身能力
    1.好方法:多用PHP内置变量,常量,函数
    2.shuffle() 函数把数组中的元素按随机顺序重新排列
    3.array_merge() 函数把一个或多个数组合并为一个数组。
      提示:您可以向函数输入一个或者多个数组。
      注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。






    2.优化点:PHP内置函数的性能优劣


    1.好的建议:多去了解PHP内置函数的时间复杂度
    2.array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。




    3.优化点:尽可能减少使用魔法函数
    4.优化点:禁用错误抑制符@
    5.优化点:合理使用内存
    好的建议:
    1.利用unset()及时释放不使用的内存(注:unset出现注销不掉的情况)
    6.优化点:尽量少用正则表达式
    好的建议:
    1.利用字符串函数,实现相同逻辑


    7.优化点:避免在循环内进行计算
    循环内的计算式会被重复计算


    $str="hello world";
    for(var i=0;i<strlen($str);i++){
    //do something
    }


    每次循环时都会计算strlen的长度,增加了时间


    好的建议:将计算的长度放在循环之外


    $str="hello world";
    $strlen=strlen($str);
    for(var i=;i<$strlen;i++){
    //dosomething
    }
    8.减少计算密集型业务
    9.务必使用带引号字符串作键值
    情况描述:PHP会将没有带引号的键值当做常量,产生查找常量的开销


    好的建议:严格使用带引号的值


    二.PHP周边性能优化

    1.减少文件类的操作
    2.优化网络请求
    a)设置超时时间
    1.连接超时 200ms
    2.读超时   800ms
    3.写超时   500ms


    b)将串行请求并行化
    1.使用curl_multi_*()
    2.使用swoole扩展


    3.压缩PHP接口输出----使用Gzip
    4.PHP缓存复用
    5.重叠时间窗口

  • 相关阅读:
    PHP在yii2中封装SuperSlide 幻灯片编写自己的SuperSlideWidget的例子
    安卓界面控件屏幕居中Layout例子
    java web的开发 知识要点
    PHP MVC简单介绍,对PHP当前主流的MVC做了一个总结
    自己编写的一个有关安卓应用开发培训PPT
    springboot配置fastjson后端往前端传输格式化
    实现商城商品秒杀分析
    idea添加jdbc包
    idea心得
    gc overhead limit exceeded内存问题
  • 原文地址:https://www.cnblogs.com/chaofei/p/7688514.html
Copyright © 2011-2022 走看看