**
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...