API介面響應速度追蹤類

2021-09-19 11:58:46 字數 1811 閱讀 2886

**

api介面響應慢?

sla一直提不上去?

其實這是後端程式設計師想高階必須要跨過去的坎:就是把它優化掉。

那麼這其中到底有沒有套路呢?答案是:有的。

本文將介紹目前正在用並且十分「無腦」有效的這個套路。

**埋點追蹤分析,找出真兇

首先呢,第一部肯定是在關鍵函式(有db、檔案、複雜計算等操作)的前後,進行時間的記錄。
這裡分享乙個前文跟蹤的類trace.php

<?php

class

trace

function

start

($type

,$time=0

)if($this

->

single_mode

)else

}function

stop

($type

,$time=0

)if($this

->

single_mode

)else

}function

time

($type

)else

}function

log(

$type

)function

logall

($prefix=''

,$ext

=array()

)elseif(

!empty

($log))

}function

output

($with_endtime

=true

)else}}

}}return

$output;}

function

reset

($type

=null

)else

return

$this;}

function

enabletrace

($exit

=true)}

?>

怎麼使用呢?

$trace

=loadclass

('trace');

$trace

->

enabletrace

(true);

$trace

->

start

('total');

$trace

->

start

('func1');

$this

->

run_slow_function1()

;$trace

->

stop

('func1');

$trace

->

start

('func2');

$this

->

run_slow_function2()

;$trace

->

stop

('func2');

$trace

->

stop

('total');

$trace

->

logall

('api_log');

$trace

->

reset()

;

此時去找trace_api_log_log就可以找到每一步跑的時間。根據實際可以一眼看出是哪一步跑慢了。那麼這一步就是主要優化的方向了。

詳解 優化API介面響應速度的套路

api介面響應慢?sla一直提不上去?其實這是後端程式設計師想高階必須要跨過去的坎 就是把它優化掉。那麼這其中到底有沒有套路呢?答案是 有的。本文將介紹目前正在用並且十分 無腦 有效的這個套路。首先呢,第一部肯定是在關鍵函式 有db 檔案 複雜計算等操作 的前後,進行時間的記錄。這裡分享乙個前文跟蹤...

提高app響應速度

乙個是響應速度,要保證介面之間跳轉的時候沒有延遲,也就是說要保證onclick之後,1.activity fragment的onpause 方法不會占用主線程太多時間 2.onclick 事件裡面不要寫耗時的操作,盡量放在 3.新的activity的create start resume等生命週期函...

PHP專案響應速度優化

專案可優化範圍很廣,這裡我們只討論php程式本身的加速。開啟opcache。zend引擎每次都會把php 解析成opcode,開啟opcache後,會快取opcode。伺服器的gcc編譯器使用4.8 zend處理opcode部分的優化gcc4.8 才支援,官方稱會帶來5 效能提公升。跟第一條的opc...