前言
API接口响应慢?
SLA一直提不上去?
其实这是后端程序员想进阶必须要跨过去的坎:就是把它优化掉。
那么这其中到底有没有套路呢?答案是:有的。
本文将介绍目前正在用并且十分“无脑”有效的这个套路。
正文
埋点追踪分析,找出真凶
首先呢,第一部肯定是在关键函数(有db、文件、复杂计算等操作)的前后,进行时间的记录。
这里分享一个前文跟踪的类Trace.php
<?php
class Trace{
var $startTime = [];
var $endTime = [];
var $single_mode= false;
var $trace_mode = false;
function getTimestamp(){
return microtime(true);
}
function start($type, $time=0){
if(empty($this->trace_mode)) return 0;
if(!$time) {
$time = $this->getTimestamp();
}
if($this->single_mode) {
$this->startTime[$type]=$time;
} else {
$this->startTime[$type][]=$time;
}
}
function stop($type, $time=0){
if(empty($this->trace_mode)) return 0;
if(!$time) {
$time = $thi