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程序的cpu使用率?相关推荐

  1. ios android cpu占用率,iPhone-iOS-从应用程序获取CPU使用率

    iPhone-iOS-从应用程序获取CPU使用率 有谁知道如何获取应用程序的CPU使用率? 绝对有可能,因为应用商店中有一些可以显示它的应用程序(活动监视器触摸). 3个解决方案 74 votes 更 ...

  2. php运行cpu利用率低,PHP-如何减低php程序的cpu使用率?

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

  3. java 正则 cpu 100_这六个原因真的可以使Java应用程序的CPU使用率飙升到100%吗?...

    点击上方的"代码农户的冥想记录",然后选择"设为明星" 高质量文章,及时交付 问题 1. 无限while循环会导致CPU使用率飙升吗? 2.经常使用Young ...

  4. java进程cpu使用率高_什么会导致Java应用程序的CPU使用率飙升?

    问题 无限循环的while会导致CPU使用率飙升吗? 经常使用Young GC会导致CPU占用率飙升吗? 具有大量线程的应用程序的CPU使用率是否较高? CPU使用率高的应用程序的线程数是多少? 处于 ...

  5. Java 应用程序的 CPU 使用率飙升原因分析

    一. 问题 while 的无限循环是否会导致 CPU 使用率飙升? 频繁的 Young GC 是否会导致 CPU 使用率飙升? 有大量线程的应用程序的 CPU 使用率高吗? CPU 使用率高的应用程序 ...

  6. window服务器cpu过高的排查_高频面试题:Java程序占用 CPU 过高怎么排查

    这个问题可以说是 Java 面试的高频面试题了,有很多面试官都喜欢问这个问题,问题可能是下面这样的. 线上一台服务器 CPU 使用率100% 了,如果你碰到这样的情况,如何排查并找到问题原因? 这就是 ...

  7. python怎么把cpu占满_如何增加python CPU使用率

    我是新手程序员,所以在这里有些迷路. 我编写了一个小的python函数,根据我的搜索区域的运行,这非常耗时,这是预期的. 经过一定的阈值后,我的程序似乎总是丢失大约一百万条记录. Python She ...

  8. 无盘服务器 cpu占用,顺网科技网维大师程序占CPU资源多的解决过程

    顺网客科技的主打网吧产品就是网维大师了,网维大师在网吧和网咖行业用户量比较大,碰到各种奇怪的问题也是蛮多的,今天就来分享一个关于「顺网科技网维大师程序占CPU资源多」问题的解决过程,分享给大家,大家碰 ...

  9. Java程序占用 CPU 过高怎么排查

    Java程序占用 CPU 过高怎么排查 线上一台服务器 CPU 使用率100% 了,如果你碰到这样的情况,如何排查并找到问题原因? 这就是一个套路题,所谓套路题就是有标准的套路解法的,掌握了套路,不仅 ...

最新文章

  1. C++11中std::condition_variable的使用
  2. 调用 fork() 两次以避免僵死进程
  3. 梯度方向直方图和物体检测Histogram of Oriented Gradients and Object Detection
  4. 交互式计算机图形学总结:第五章 光照和明暗绘制
  5. 对mysql日志进行操作的总结包括 启用,过期自动删除 等
  6. java海滩上有一,Java猴子分桃问题--三种算法
  7. Tomcat配置自签名https
  8. 海量数据寻找最频繁的数据_寻找数据科学家的“原因”
  9. 机器学习笔记(十二):聚类
  10. joomla 3.6 mysql 版本_Joomla是否支持MariaDB数据库?
  11. 如何使用Syncios Data Recovery直接从 iOS 设备恢复数据?
  12. 串(串的模式匹配算法BF算法)
  13. 微信 小程序弹框 简单实现
  14. 解决窗口桌面管理器内存占用过高,系统更新,核显驱动异常造成的内存泄漏问题。
  15. Unity实现音频播放器[QQ音乐,网易云等效果]
  16. 酒店管理系统(功能结构图、流程图)
  17. 做SEO优化第七步:如何选择网站程序模版?
  18. 字节跳动java后端一面面经(头条/西瓜视频)
  19. 类名.class 类名.this 详解
  20. 标识别,人脸识别等常用数据集

热门文章

  1. Npm 5 package locks
  2. MongoDB readConcern 原理解析
  3. unbuntu下安装flash插件
  4. 创建第一个freemarker
  5. Linux查看进程线程个数
  6. Servlet和SpringMVC补课
  7. linux blfs安装桌面,【Linux】Ubuntu14.04安装bridge-utils安装brctl
  8. 区块链中的智能合约是什么?
  9. java kafka 集群消费_kafka集群搭建和使用Java写kafka生产者消费者
  10. idea打开web项目之后一直闪烁