xdebug确实挺好能找到你php程序的瓶颈

但是最好在测试机上用xdebug调试,因为xdebug也会影响性能

还有一点当xdebug不用的时候就把他关掉否则他会一直记log直到你的硬盘被占满(我遇到过这个问题)

下面是一些PHP性能优化,需要注意的地方

0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。

PS:在单引号中,PHP不会自动搜寻变量、转义字符等,因此效率上快很多。而一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。事实上,function、method、static method的速度不会有太大差异。具体可见“PHP函数的实现原理及性能分析【转载】”一文。

2、$row[’id’] 的速度是$row[id]的7倍,不太懂,貌似差异只有后者会先判断id这个宏是否存在,如果不存在则自动转变为字符串。

3、echo 比 print 快,如果使用echo $str1.$str2 就会需要 PHP 引擎首先把所有的变量连接起来,然后在输出,而echo $str1,$str2,PHP 引擎就会按照循序输出他们

4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好用foreach代替for,这个效率更高,如果考虑到foreach($array as $var)每次拷贝的消耗,可以使用foreach($array as &$var)这样的引用。

5、注销那些不用的变量尤其是大数组,以便释放内存,如果没有记错的话,unset($array)不会立刻释放内存,但随时释放是个好习惯。

6、尽量避免使用__get,__set,__autoload。

7、require_once和include_once需要判重,因此效率上要低,但是5.2版本后效率问题已经基本解决。

8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。

9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER['REQUEST_TIME']要好于time()。

10、函数代替正则表达式完成相同功能。

11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。

12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

14、用@屏蔽错误消息的做法非常低效,极其低效。

15、打开apache的mod_deflate模块,可以提高网页的浏览速度。

php运行cpu利用率低,PHP-如何减低php程序的cpu使用率?相关推荐

  1. 计算机的低配置的cpu,绝地求生低配电脑CPU负担低设置方法汇总 怎么样设置对cpu压力小...

    很多玩家都玩过绝地求生或者想玩一下绝地求生,但是发现自己电脑的配置好像玩起来有点卡,甚至个别电脑会出现cpu过载的情况,那到底是怎么回事呢,这里小编就来教一下大家绝地求生低配电脑CPU负担低设置方法汇 ...

  2. cpu利用率低linux,linux计算,cpu 利用率超低,如何处理?

    如题,top之后如下:请教高手如何处理?非常感谢!! top - 09:55:25 up 24 days, 18:55,  1 user,  load average: 8.61, 11.33, 12 ...

  3. php cpu使用率,如何减低php程序的cpu使用率?

    xdebug确实挺好能找到你php程序的瓶颈 但是最好在测试机上用xdebug调试,因为xdebug也会影响性能 还有一点当xdebug不用的时候就把他关掉否则他会一直记log直到你的硬盘被占满(我遇 ...

  4. 深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析

    在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU ...

  5. rt thread系统下添加wiznet软件包后,不插网线CPU利用率100%问题

    rt thread系统下添加wiznet软件包后如果不插网线的话其他任务运行很卡,使用ps命令发现优先级低的任务很多都超时了 rt thread线程错误码 添加了一个可以查看CPU利用率的软件包CPU ...

  6. 浅谈Linux下CPU利用率和CPU负载及其代码实现原理

    编者注: 本来想写个简单的程序测试CPU利用率,后来代码实现后与top(ps)命令测试的结果做对比,疑惑了,疑惑后有了此文-- 第一节   祸起 本来就是想通过写个小程序测试CPU利用率从而可以检验其 ...

  7. 压力测试最大QPS瓶颈定位——CPU利用率与Load Average的区别(压测)

    通过下面的几个部分的了解,可以一步一步的找出Load Average在压力测试中真正的作用. CPU利用率和Load Average的区别 0.压力测试:压力测试不仅需要对业务场景的并发用户等压力参数 ...

  8. 关于GPU利用率低值得考虑的几个点

    [问题] 深度学习相关的程序运行时,GPU利用率很低,间隔地达到一下一个较高的值,但大部分时间是0%. [分析] 通常是因为GPU在等程度的其他动作,主要就是加载数据和CPU上的一些操作(包括数据预处 ...

  9. linux. 获得cpu利用率 arm,Linux如何统计进程的CPU利用率

    0. 为什么写这篇博客 Linux的top或者ps都可以查看进程的cpu利用率,那为什么还需要了解这个细节呢.编写这篇文章呢有如下三个原因: * 希望在脚本中,能够以过"非阻塞"的 ...

最新文章

  1. 【PHP 开发】mac 下配置 PHP 环境的方法
  2. apache poi_将HTML转换为Apache POI的RichTextString
  3. spring观察者模式_Spring事件的观察者模式
  4. 旋翼机自主着陆-主要技术难点
  5. Net平台下的B/S开发框架
  6. (转) 学习淘淘商城第一课
  7. mybatis ------ 逆向工程(十)
  8. x86汇编语言(2) 认识8086处理器
  9. 腾讯封杀linux/mac QQ
  10. java 数据结构之堆排序
  11. 借教室(codevs 1217)
  12. python爬虫百度文库源码_Python爬取百度文库学习
  13. 红帽linux安装yum源
  14. 傅里叶级数的通俗理解
  15. RTS Threshold
  16. 百度脑图 “展开/收起节点“ 按钮隐藏
  17. 浙江大学《概率论与数理统计》
  18. Windows配置万德(Wind)量化接口
  19. uniapp image 图片自适应
  20. QT编程从入门到精通之一:“第一章:认识QT”之“1.1 Qt简介”

热门文章

  1. R语言单因素重复测量方差分析(one-way repeated measures ANOVA)实战
  2. R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战
  3. 生信分析必须了解的4种文件格式
  4. android资源加载失败,Unity2017,打成安卓包之后加载资源失败
  5. STM32使用另外两种方法使LED灯闪烁
  6. linux校时写入硬件,手动校正 Linux 系统时间并把时间写入硬件,系统启动时自动校正时间并把时间写入硬件。...
  7. Java报告比较日期_Java程序如果一个日期在另一个日期之后比较日期
  8. tensorflow 转 numpy 转 tensorflow
  9. 环境变量、用户变量、系统变量
  10. 十二、八皇后问题(递归回溯)