Open iralance opened 6 years ago
开发过程中,监控php脚本状态,记录执行速度慢的进程
设置request_slowlog_timeout =1; (超出一秒记录) slowlog = /Users/qianlei/tmp/php_slow.log
a.php <?php sleep(2); echo 'aaaa'; exit();
test.php <?php $url = "http://test.cc/a.php"; $post_data = ['data' => ''];
$curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, $url); //设置头文件的信息作为数据流输出 // curl_setopt($curl, CURLOPT_HEADER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设置post方式提交 curl_setopt($curl, CURLOPT_POST, 1); //设置post数据 curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); //执行命令 $data = curl_exec($curl); //关闭URL请求 curl_close($curl); //显示获得的数据 var_dump($data);
调用test.php 可以看到slow_php.log ![image](https://user-images.githubusercontent.com/4393443/33248606-79fe5008-d2eb-11e7-9bae-09bf0d32b69a.png) ps:一般情况下,都是通过调第三方接口会导致这问题,也可以下方写入日志的方式来定时分析
curl_init(); $t1 = microtime(1); $result = curl_exec($ch); // slow network nodelog $error = curl_error($ch); $info = curl_getinfo($ch); $needLog = (microtime(1) - $t1 > 0.3) || !empty($error);
test.php <?php $url = "http://test.cc/a.php"; $post_data = ['data' => ''];