统计php fpm slowlog中频次最高的的100个函数及频次
slowlog日志举例:
[14-Jul-2017 16:49:10] [pool www] pid 9359
script_filename = /data/www/biz/manage_www/index.php
[0x00007f13f4347c10] curl_exec() /data/www/libraries/Mall/Client.php:166
[0x00007f13f4347a48] _request() /data/www/libraries/Mall/Client.php:95
[0x00007f13f4347738] invoke() /data/www/biz/controllers/Manage/Mall/Product.php:102
[0x00007ffdab979380] productListAction() unknown:0
[0x00007f13f43475b8] run() /data/www/biz/manage_www/index.php:13
统计使用命令:
grep 'script_filename' -A 1 /data/logs/php/www.log.slow | grep '0x' | awk '{print $2,$3}' | sort | uniq -c | sort -k1nr | head -100
输出:频次 函数 所在文件及行数
22482 __call()unknown:0
19520 execute() /data/www/libraries/DB.php:126
12990 getMulti() /data/www/libraries/SomeModule/DAO/Memcached.php:163
5519 curl_exec() /data/www/libraries/HTTP/Request.php:356
4793 __construct() /data/www/libraries/DB.php:39
4722 execute() /data/www/libraries/DB.php:143
uniq -c 命令输出统计词频
sort -k1nr 解释: -k指定以那个列排序 1表示第一列 n表示使用数字而非文本排序 r表示倒序