API深度影響著你的應(yīng)用

今天的數(shù)字應(yīng)用世界其實是一個以API為中心的世界,我們只是沒有意識到這些API的重要性。比如在電子商務(wù)交易、社交媒體等對交互高度依賴的領(lǐng)域,可以說API決定了應(yīng)用的質(zhì)量一點也不為過。

以京東為例,用戶的每一次操作背后都關(guān)聯(lián)著一系列API,比如購買商品時選擇不同的規(guī)格、顏色等信息,這些API可能基于分布式服務(wù)位于不同地方,因此增加了更多的復(fù)雜性。也因為這些復(fù)雜的網(wǎng)絡(luò)和應(yīng)用架構(gòu),讓這些API中的任何一個都可能不可用或出現(xiàn)某種性能問題。

(京東商城整體架構(gòu)示例,圖片來自互聯(lián)網(wǎng)分享)

因此如果你想確保您的客戶擁有良好的用戶體驗,主動監(jiān)控您的API至關(guān)重要,有沒有一種方式能在不影響現(xiàn)有用戶的同時監(jiān)測到哪些API存在問題呢?進(jìn)而實現(xiàn)主動發(fā)現(xiàn)主動告警。沒錯,我們可以用模擬用戶訪問。

基調(diào)聽云讓這變成可能

既然是模擬總要有用戶節(jié)點才行,基調(diào)聽云經(jīng)過10多年的積累和發(fā)展,目前遍布在全球各地的有30萬+的模擬用戶節(jié)點。這些節(jié)點通過任務(wù)下發(fā)方式主動對您的API接口做監(jiān)控,無需您的開發(fā)人員做任何嵌碼。只要是該API URL能在互聯(lián)網(wǎng)上被訪問,就可以通過主動監(jiān)控提前發(fā)現(xiàn)API接口的錯誤或性能問題。提前發(fā)現(xiàn)和解決可以減少對用戶的影響,幫您提升業(yè)務(wù)可用性和用戶體驗。

監(jiān)控過程也很簡單,5分鐘搞定:
1、申請聽云Network SaaS賬號:https://account.tingyun.com/reg/register#/
2、創(chuàng)建API接口監(jiān)控任務(wù):在任務(wù)管理界面,創(chuàng)建“單一文件下載”類型的任務(wù),輸入要測試的API接口URL,請求方式為get和post方式,針對post請求,可以設(shè)置post內(nèi)容以及預(yù)期的內(nèi)容,以便監(jiān)測過程中如果返回內(nèi)容和實際內(nèi)容不一致時可以報錯報警。

3、配置完任務(wù),建議及時對各種指標(biāo)配置告警閾值,以便及時發(fā)現(xiàn)問題。

是不是很簡單?先別急著放松,這只是開始。我們還要分析數(shù)據(jù),按照慣例監(jiān)控從來都不是我們的目的,數(shù)據(jù)才是。

我們該關(guān)注哪些指標(biāo)?

對于API監(jiān)控來說,建議重點關(guān)注的指標(biāo):可用性、錯誤、建立連接時間、首包時間等。

登錄到聽云控制臺以后,選擇你剛剛創(chuàng)建好的任務(wù),正常情況下任務(wù)創(chuàng)建后幾分鐘左右就會有采集上來的數(shù)據(jù)展示。

分三步來看:

一看趨勢
通過報表功能導(dǎo)航欄的“趨勢”功能,我們可以查看該API接口近期的性能波動情況:

以上圖為例,可以看到在11月2日左右,該接口的總下載時間由原來的2秒左右下降到5秒左右,下降了一倍多,這不是個好現(xiàn)象。

根據(jù)經(jīng)驗,影響總下載時間的指標(biāo)一般可能是DNS時間、建立連接時間、SSL握手時間、首包時間、內(nèi)容下載時間、總下載字節(jié)數(shù)等指標(biāo)。

依次查看,我們看到首包時間和總下載時間的趨勢一致,基本可以判斷是由于首包時間變長,導(dǎo)致總下載時間變長的原因。

如下:

影響首包時間的元素一般為:
1、網(wǎng)絡(luò)原因。結(jié)合看DNS、建立連接時間、SSL等指標(biāo)都比較穩(wěn)定,基本排除網(wǎng)絡(luò)原因。
2、服務(wù)器對接口的處理能力下降。有可能業(yè)務(wù)量爆發(fā)導(dǎo)致API接口處理的內(nèi)容變多,或者服務(wù)器負(fù)載比較高等原因。

這時候就可以聯(lián)系相關(guān)技術(shù)同事在服務(wù)器端進(jìn)行進(jìn)一步查看分析了。

二看可用性

選取可用性指標(biāo)頁,可以查看API接口的可用性情況。

可以看到該接口近期的可用性為99.79%,在行業(yè)參考值范圍以內(nèi),同時我們也看到近期該接口出現(xiàn)20次錯誤,我們可以在“錯誤”模塊中查看近期都出現(xiàn)了什么類型的錯誤。

示例中該接口主要出現(xiàn)一些502、504、408、超時等類型的錯誤,可以點擊每一種錯誤類型下鉆分析其錯誤詳情。

這里散點圖,描述的是每一次錯誤請求的分布情況,可以繼續(xù)點擊某個錯誤圖示,進(jìn)一步下鉆分析其錯誤詳情。

三看主機(jī)

更詳細(xì)的情況,可以從主機(jī)維度分析,可以查看此類錯誤主要都發(fā)生在哪些主機(jī)?

技術(shù)人員拿到這些信息可以在對應(yīng)的服務(wù)器上做進(jìn)一步排查和關(guān)注。

總結(jié)

通過這款產(chǎn)品的功能讓我們多了一種方式快速地對自己的API質(zhì)量能進(jìn)行有效監(jiān)控,工具歸根到底都只是輔助,重要的是有主動監(jiān)控的意識加上豐富的數(shù)據(jù)分析經(jīng)驗,定位和解決問題才會更加的如虎添翼。

  • 在當(dāng)前高度數(shù)字化的時代,智慧運(yùn)維平臺監(jiān)控模塊?已經(jīng)成為企業(yè)信息技術(shù)運(yùn)維的心臟部分。透過這一模塊,企業(yè)可以精確地分析、控制以及優(yōu)化其基礎(chǔ)設(shè)施和應(yīng)用,實現(xiàn)高效、安全和可靠的服務(wù)。

    2023-09-11

  • 應(yīng)用性能管理是企業(yè)在數(shù)字化轉(zhuǎn)型過程中必不可少的一項工作,它可以幫助企業(yè)監(jiān)控和優(yōu)化應(yīng)用程序的性能,確保用戶體驗的穩(wěn)定和高效。然而,市場上有很多應(yīng)用性能管理公司,如何選擇一家品質(zhì)好的公司成為了企業(yè)面臨的難題。

    2023-07-12

  • 在現(xiàn)代企業(yè)運(yùn)行中,業(yè)務(wù)流程的效能直接關(guān)系到整體業(yè)務(wù)效率和成本管理。因此,為了降本增效,企業(yè)需要對業(yè)務(wù)數(shù)據(jù)和應(yīng)用性能等關(guān)鍵指標(biāo)進(jìn)行關(guān)聯(lián)分析,并量化研發(fā)和運(yùn)維的考核指標(biāo),使考核更有價值。在這個背景下,應(yīng)用性能管理服務(wù)成為企業(yè)不可或缺的重要組成部分。

    2023-08-02

  • 在當(dāng)今數(shù)字化時代,每個企業(yè)都希望能夠?qū)崟r了解用戶體驗和應(yīng)用性能,以提供高質(zhì)量的服務(wù)和滿足客戶的需求。為了達(dá)到這一目標(biāo),可觀測平臺應(yīng)運(yùn)而生。可觀測性平臺是一個綜合性解決方案,它涵蓋了終端用戶體驗、應(yīng)用性能、業(yè)務(wù)性能、基礎(chǔ)架構(gòu)、云平臺等客戶IT環(huán)境,為企業(yè)提供實時監(jiān)測和分析的功能。

    2023-07-13

  • java有著非常多的優(yōu)勢,例如:可跨平臺、穩(wěn)定性高、安全等都是它具有的優(yōu)勢,這些優(yōu)勢也深受廣大java程序愛好者的喜歡,但java應(yīng)用程序也有它不好的地方,例如:大量數(shù)據(jù)處理等,都影響應(yīng)用程序的性能和穩(wěn)定性,因此,apm監(jiān)控java應(yīng)用對于我們來說是非常重要的。

    2023-09-15