PHP面试题之优化,php面试题
<span> * PHP性能问题 * 1.PHP语法使用的不恰当 * 2.使用PHP语言做了它不擅长的事 * 3.使用PHP语言链接的服务不给力 * 4.PHP自身做不了的事情 * * PHP的性能问题的解决方向 * 1.PHP语言级的性能优化(代码优化) * 2.PHP周边问题的性能优化(linux,mysql,磁盘等) * 3.PHP语言性能的优化(c层) * * 使用ab压力测试(-n请求数 -c并发数 url目标压测地址) * ./ab -n1000 -c100 </span><span>http://www.baidu.com</span><span> * Request per second每秒接受的请求数(越大越好) * Time per request一个请求需要的时间(越小越好) * * time php test.php 测试代码执行时间 * * vld- PHP Opcode查看扩展 * php -dvld.active=1 -dvld.execute=0 test.php * * PHP代码运行流程 * *.php(PHP文件)->Scanner(扫描代码,分析)->Exprs(保存成zend引擎可以识别的文件)->Parser(解析)->Opcodes(能被执行的文件)->Exec(执行)->Output(输出结果) * 多使用PHP内置变量,常量,函数 * php内置函数也存在差异,多使用时间复杂度低的.例isset()和array_key_exists()存在差异 * 尽可能规避使用PHP魔法函数 * 禁用@错误抑制符,会产生额外的开销 * 合理使用内存,利用unset()及时释放不使用的内存 * 尽量少使用正则表达式 * 避免在循环内做运算for($i=0;strlen($str);$i++){} * 减少计算密集型业务(php语言特性决定了PHP不适合做大数据量运算) * 务必使用带引号字符串做键值(key) * 减少文件类操作 内存<<数据库<磁盘<读写网络数据 * 优化网络:1.设置超时时间 连接超时200ms 读超时800ms 写超时500 2.将串行请求并行化:使用curl_multi_*() ,使用swoole扩展 * 压缩PHP接口输出:Gzip 好处:client更快获取数据 坏处:额外的cpu开销 * PHP缓存复用 * 时间窗口重叠方法 * PHP旁路方案 * xhprof (php -ri xhprof)</span><span><br /></span>
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前ByDDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!