• 睿思衆淘 睿思衆測 聯系我們 網站地圖

    企業如何選擇一款優質的Server端APM産品?居然有很多企業都忽略了這個重要因素

    隨著互聯網的發展,各種網絡應用的用戶量和重要性與日俱增,對用戶體驗的要求也越來越高,IT運維支撐著企業數字化業務的效率和質量,已經進入到了數據驅動的精細化管理時代,因此,應用性能管理(APM)的重要性日漸凸顯。目前,市場上Server端APM産品和解決方案五花八門,企業該如何去評判和選擇呢?今天,小睿就和大家分享一下企業如何選擇一款優質的Server端APM産品。

     

    作爲一款優質的Server端APM産品,首先必須具備三大能力:

     

     1、自動發現應用業務資産的能力;

     2、業務調用鏈的抓取及分析能力;

     3、自動發現及定位業務代碼方法及其調用效率的能力。

     

    具體內容小睿已經在之前的文章《什麽是真正的應用性能管理》一文中詳細闡述,不再展開討論。今天,小睿想和大家分享的是很多企業在選擇Server端APM産品時容易忽視,但又極爲重要的一個關鍵因素!

     

    大家知道,Server端APM産品需要在Server端應用中植入探針程序,來實現對業務、集群、容器、主機、業務代碼、數據庫、NoSQL、外部服務等方面的監控。探針在運行過程中需要采集、數據處理、組包、壓縮、並通過網絡進行傳輸。因此,相應探針工作時對系統資源開銷主要包括CPU占用、內存占用、磁盤及網絡I/O占用,其占用越多,則對業務自身處理效率影響越高、進而影響終端用戶體驗;同時,爲了應對這部分額外的資源開銷,企業往往需要增加更多的IT資源、從而也導致了軟硬件和系統維護成本提升,從而帶來IT運營成本的總體增加。所以,探針對資源的占用情況就成爲決定各APM服務商在基本功能相當的基礎上,判定誰更優質的重要因素。

     

    那麽,企業應該如何測試APM探針正常工作狀態下對服務器性能的消耗呢?小睿以實踐出真知:

    企業可以對比被監控應用在無探針和有探針下的性能損耗,具體方法建議如下:

     

    一、測試環境准備:

    測試標的:建議爲用戶典型實際生産業務應用系統,並預先在測試環境中部署好;

    測試環境:硬件(建議單台服務器4C/8GB/300GB配置),系統(Redhat Linux 6.9),網絡(千兆或萬兆);

    測試壓力:使用JMeter或LoadRunner等壓測工具模擬單台服務器穩定壓力TPS 1000以上,並持續10分鍾以上;

    測試指標:TPS、業務平均響應時間、CPU使用率、內存使用率、業務錯誤率等指標。

     

    二、測試過程只需四步:

    1、測試標的中不加入任何探針,並持續加壓至穩定運行10分鍾以上,記錄穩定運行後相關測試指標值,作爲基准值;

    2、在測試標的中分別加入各家APM廠商的探針,並按上述方式做相同的測試,記錄相關測試指標值,作爲計算各家探針性能開銷的參考值;

    3、根據測試結果,分別計算業務處理能力損失率(未加探針狀態TPS-加探針狀態TPS)/未加探針狀態TPS X 100%),CPU使用增長率(未加探針狀態CPU使用率-加探針狀態CPU使用率)/未加探針狀態CPU使用率 X 100%,同理,再分別計算內存使用增長率,響應耗時增長率,業務錯誤增長率;

    4、根據第3步指標預先設定區間打分分值,並根據第三步實際指標分別計算得分,從而客觀評定各家APM産品探針性能損耗。

     

    博睿宏遠根據服務衆多客戶的實際情況來看:

     

    1、系統資源開銷增長率:即對比無探針和有探針模式,有探針模式下的測試應用各項資源開銷增長率指標(CPU/MEM)應均在5%以內爲佳;

    2、對應用業務處理能力的影響:即對比無探針與有探針模式下,系統處理能力損失率、平均響應時間增長率和業務請求處理錯誤率都不應該超過3%爲佳。

     

    博睿宏遠的Server端APM探針在許多用戶的實際測試表現優異,在某大型客戶的綜合對比測試中,曾以0.17%的好成績力壓其他廠商(其他廠商均在3%以上)。

     

    博睿宏遠Server端APM産品,目前支持JAVA、PHP、Python、Ruby、Node.JS和.NET等主流語言開發的應用系統。當探針運行對所在應用服務器CPU使用率和內存占用的開銷一般不高于3%。同時,博睿宏遠Server端APM探針有嚴格的異常保障機制,在確保數據采集的完整性和准確性的基礎上,盡量減少探針對宿主應用的影響。當系統資源開銷達到一定負載時探針可配置探針熔斷機制(默認條件:可用Heap內存低于10%或者GC的CPU占用超過10%),但用戶配置後,一旦達到配置條件,探針將會自動暫停工作,保證用戶業務的優先正常運行。待系統資源恢複正常時,探針將自動恢複工作。

     

    優質的Server端APM産品在保證業務的連續性和IT系統的穩定性方面發揮了巨大的作用,同時也大大縮減了企業發現和排查問題的時間。但是萬事均有兩面性,我們在享受APM技術帶來效率和便利的同時,也要充分考察,不能只是盲目追求各種看似華麗的功能。測試過程簡單卻如此重要,可以對比各家産品其探針的資源開銷和業務影響。希望此文對企業未來選擇Server端APM産品和解決方案時有所幫助。