前面給大家發過如何搭建全鏈路監控系統pinpoit了,今天來普及一下如何實戰使用,由于是入門級的教材,所以高手請飄過,并且喜歡自己print日志來優化的也請靠邊。
這里以我自己的一個應用來舉個栗子
應用截圖
從上圖可以看到,這個應用一共有3個服務節點,每次前端請求,都會有一次的mysql DB的查詢,平均每次前端請求然后有6.00129……次的redis查詢,目前每次請求平均耗時在50ms不到,然后每個節點的TPS大概是9左右,3個節點提供出去的相當于是TPS30左右吧
單節點TPS
然而對于我們一個有自我追求的碼農來說,怎能忍受超過50ms的server呢?于是準備動刀,打開詳細的鏈路進行分析
某次請求鏈路
發現某個混蛋竟然在一個方法里面,做了2次的數據庫連接請求,馬上搜索getcode的這個函數,找到他,發現……此處略過千言萬語
修改后打包發布,再跟蹤一下看看新的請求
新的鏈路分析
看到木有,這里變成只有一次的請求了。
當然這里你看到都是假的,因為都是我們實際應用的時候,一般對數據庫都會使用連接池,不會每次請求都會去創建連接。