zoukankan      html  css  js  c++  java
  • PHP开发工作心得

    一、扎实PHP自身的基础知识、函数、常量等,尽量用内置的方法解决这个问题(由于个人写的往往运行效率没有内置方法高);

    二、代码尽量少的实现功能(由于PHP的运行事实上是,将咱们的代码先处理成底层语言进行机器运行,假设代码多,转化的内容多自然耗时多);

    三、进行优化时能够通过压力測试ab进行測试自己写的代码,并对代码进行优化后,再次压測一下效率;


    四、少用@符号;

    五、多使用unset()函数。将变量注销释放;

    六、少用正則表達式,双刃剑;

    七、避免循环for循环条件中做运算;

    八、数组的key值,务必使用带引號的字符串做键值,为什么务必这么干?  

           当$arr = array(  "key"=>"hehe" );  $arr["key"] 是正确的、提高效率的

    $arr[key] 这样没有引號的,是不好的,由于PHP运行时。发现key没有引號

            此时,他会去检查key是否是一个常量。假设开启错误机制报错的话会提示notice

            未发现key这个常量。

    假设加了 引號后,PHP会直接进入$arr数组中寻找为key的键值。

      相对效率就高效了

    九、影响PHP性能的外部因素有:


    此点的  启发是:  当一个站点非常慢时。或许不是PHP本身的性能慢了、可能是网络问题、可能是硬件问题等;作为一个架构师排除问题所在就不能停留在程序的优化了!

    十、读取内存内容要比读取数据库内容效率要高。所以说大流量提速站点往往用memcache、redis等分布式缓存将数据缓存到内存。然后先和内存进行数据的读取。


    十一、通过XHPorf(源自 Facebook測试PHP性能分析 工具)。能够測试出訪问站点的流程。而且能够通过流程图标红的区域高速找到,耗时方法,进行方法优化就可以;


  • 相关阅读:
    rabbitmq报错:not_a_dets_file,"/var/lib/rabbitmq/mnesia/rabbit@Sfabrici-Demo01/recovery.dets"的解决办法
    ubuntu18上关闭默认的防火墙
    《GCD宣言》全文
    springboot日志配置
    springboot打jar包【我】
    MongoDB 4.2 用户管理
    【短道速滑四】Halcon的texture_laws算子自我研究
    Android集合之SparseArray、ArrayMap详解
    浅析微信支付:下载对账单和资金账单
    学习如修行
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6791396.html
Copyright © 2011-2022 走看看