Heim  >  Artikel  >  Backend-Entwicklung  >  性能优化之PHP优化 性能调整与优化 调整以优化性能 怎么优化电脑性

性能优化之PHP优化 性能调整与优化 调整以优化性能 怎么优化电脑性

WBOY
WBOYOriginal
2016-07-29 08:54:131390Durchsuche

一.语言性能优化

1.使用Apache下的ab工具进行性能测试
测试:ab -n100 -c100 https://www.baidu.com/(请求100次,并发量是100)
关注两个量:
Requests per second(每秒请求数 )和Time per request(平均响应时间)
2.尽量使用php内置变量,常量,函数,原因:php代码需要经过zend引擎独行扫描成zend可识别语法,再被解析成opcode代码,然后才被执行。
3.内置函数也有优劣之分,要懂得使用性能高的函数,了解函数实现的时间复杂度,以isset和array_key_exists两个函数为例。
4.尽可能规避php的魔法函数。
5.禁止错误抑制符@的使用,原因是会在该语句前后插入一些代码。使用工具vld,查看php的opcode。

6.合理使用内存(建议用unset释放变量)

7.合理使用正则表达式(原因是需要回溯)

8.避免在循环里面计算,例子:for($i=0;$i

9.减少计算密集型业务。原因:php的语言特点决定的,php是由c语言写的,处于上层,实现的话都要通过c来运行,只是一个纽带作用。php擅长的是衔接webserver与后端服务,UI展示。所以密集型业务最好是通过其它语言来实现,不然会成为性能瓶颈。

10.务必使用带引号字符串做键值。不然php会先去找常量值,如若找不到才会当成字符串来处理,这需要额外开销。

二.周边性能优化

主要影响性能主要有以下5点:

1.Linux环境;

2.文件存储(硬盘);

3.数据库;

4.内存缓存(memcache,redis)

5.网络

建议采用以下方式优化:

1.减少文件类操作,按开销大小排序是:读写内存 

2.优化网络请求:
原因:1.对方接口的不确定性;2.网络的稳定性
优化方式:
2.1.设置超时时间(a连接超时;b读超时;c写超时);
2.2.将串行请求并行化;
a)使用curl_multi_*();
b)使用swoole扩展。

3.压缩PHP接口输出:
使用Gzip压缩
利:有利于client端更快接收数据;
弊:额外的cpu开销

4.缓存重复计算内容:多次请求,内容不变的情况下;

5.smarty调优和时间窗口重叠思想(后一个任务不强依赖前一个任务的情况下可使用),并行缩短运行时间。

6.使用xhprof工具分析性能;

三.php性能瓶颈解决方法

Opcode Cache:PHP扩展APC
扩展实现:通过PHP扩展代替原PHP代码中高频业务逻辑
Runtime优化:HHVM

以上就介绍了性能优化之PHP优化,包括了性能优化,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn