尽量不要使用@符号
会产生额外的运行负担 尽量使用try(){}catch() {} 方法
尽量多的使用PHP自带的系统函数、常量、变量
PHP自带的函数 实现相同功能的函数 几个函数之间的性能也是有区分的 eg: isset() array_key_exists()
尽量规避PHP为我们提供的魔法函数 如自己实现起来非常费劲时 可以考虑使用魔法函数
网络请求超时时间设置的时长。
性能开销排序
魔法函数的应用
性能问题及解决办法
vim -0 bad.php goods.php
PHP语言级性能优化
PHP语言级性能优化
PHP语言级性能优化
PHP语言级性能优化
压力测试命令:ab -n100 -c10 http://www.baidu.com/
响应数据
Requests per second: 目标站点文档大小
Requests per second: 每秒接收请求数
Time per request: 每个请求的耗时情况(毫秒)
压力测试工具ab简介
串行请求并行化。
file_get_contents 请求超时设置
$timeout = array(
'http'=> array(
'timeout'=>5//设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
$text = file_get_contents("//www.baidu.com/",0, $ctx);
CURL 是常用的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。
CURL 请求超时设置
curl_setopt($ch, opt) 可以设置一些超时的设置,主要包括:
a 、CURLOPT_TIMEOUT 设置CURL允许执行的最长秒数。
b、CURLOPT_TIMEOUT_MS 设置CURL允许执行的最长毫秒数。
c、 CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则无限等待。
d、 CURLOPT_CONNECTTIMEOUT_MS 尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。
e、 CURLOPT_DNS_CACHE_TIMEOUT 设置在内存中保存DNS信息的时间,默认为120秒。
PHP vld扩展 Opcode查看扩展。
Linux : time php text.php 显示程序执行时间