nGrinder在大型組織中的實際佈署和應用

原文 : nGrinder Real Deployment in the Large Organization By JunHo.Yoon html

    咱們的公司,NHN,擁有多個大型的產品。其中一個是韓國最受歡迎的搜索門戶網站NAVER,擁有超過5千萬的用戶。另外一個是「Line」,這是目前最受歡迎的移動通訊工具,註冊用戶超過1億。另外還有涉及網絡應用和遊戲等類型的一些產品。除了這些,咱們還開發了多種多樣的開源平臺產品,包括CUBRID-支持高可用性的開源關係數據庫管理系統-nGrinder Wiki網站就包含在CUBRID的Wiki中:)。在NHN公司內部有1000多名開發者,他們老是努力實現那些傑出的想法並轉化成產品,並使這些產品更具擴展性。

    爲了使這些產品更穩定,速度更快,從2011開始咱們集中地使用nGrinder。目前咱們在公司內部運行了多個nGrinder實例。可是咱們要求的員工從最大的實例開始使用,它是由5個controller,40個agent以及5個不一樣的IDC(互聯網數據中心)組成的。 咱們有官方的DNS名稱:http://ngrinder.nhncorp.com(只有NHN員工能夠訪問),在這5個控制器是指向L4(負荷平衡器)的。怎麼作才能佈署這樣大型的nGrinder系統?請看Controller Clustering Guide數據庫

 <nGrinder deloyment across IDCs>
 

    大部分IDC是位於韓國的,惟一例外的一個位於新加坡。一個nGrinder Controller和Agent的通訊速度B/W並不高,這樣咱們就能夠把全部的controller放在一個韓國的IDC而把Agent分散到每一個IDC中。咱們還在nGrinder系統中部署了的SSO插件和網絡溢出插件,因此每一個人均可以隨時訪問nGrinder而無需額外的登陸步驟,還能夠控制可能會致使巨大的網絡流量的異常測試執行。咱們的nGrinder SSO插件從nGrinder管理中免除了用戶管理的開銷。它與SiteMinder共同起做用,若是用戶不存在,當用戶用他/她的SSO賬戶登陸時,便會建立一個新的用戶賬號。 安全

    目前咱們在每一個IDC的實際服務區域,使用的是10G主幹網。但咱們的開發區域只有3Gbps, B/W模式的IDC的帶寬甚至更小。 所以,咱們估計若是nGrinder產生了大量的網絡流量,特別是在每一個網絡邊緣的時候, 會使該網絡中另外的系統服務不正常。 這樣的狀況在咱們以前使用Performance Center的時候的確發生過。因此咱們設置了網絡溢出插件,使每一個test最大使用1Gbps流量。若是一個test佔用貸款超過了1Gbps,這個插件會自動強制中止它。若是開發者須要運行產生超過1Gbps流量的test,咱們會請他在與目標機所處的相同的交換機範圍內中安裝獨立的nGrinder controller和agent。他安裝一個本身的nGrinder實例通常只須要1小時。

    咱們一般只容許每一個用戶在沒有額外的步驟的狀況下使用5個agent。 這使得agent最大化地被多個用戶所分享。咱們觀察到90%的test在10分鐘內結束。一些IDC擁有10個agent。這意味着至少個測試能夠同時運行。若是用戶須要更多的agent,咱們建議他/她安裝用戶屬於本身的agent而不是增長限制的數量。咱們不只使用這些系統的方法,咱們也用比較人性化的方式促進nGrinder使用。 網絡

     有一個nGrinder專職的工程師,會持續觀察全部的測試(他的名字叫喬.JiWon,「JiWon」在韓語中的意思是「支持」,他花約30%的工做時間在這上面。)。這裏的大多數開發者是Java工程師,而且沒有寫Python代碼的經驗。他正在作事情就是幫助開發人員避免在腳本編寫中感到茫然。 他擁有開啓了超級用戶權限的賬戶,能夠沒必要請求附加權限就能夠看到nGrinder中全部的test,而且可以運行其餘用戶的腳本。

      因此,每當紅色球(運行失敗標識)出如今nGrinder性能test列表視圖中,像下面這樣,JiWon會點擊腳本並驗證它們,以找出用戶作錯了什麼。當他發現線索,他就會用咱們的內部通訊工具與用戶聯繫。這使得nGrinder用戶僅在2~3次失敗的嘗試以後,就可以寫出正確的腳本。有時,一些開發者說「離它(腳本)遠點」, 但大多數開發者都會說「謝謝」,由於在他們忙得不可開交的時候,這小小的幫助能減小他們的開銷。 ide

 <It's time for JiWon to help this guy!!> 工具

   如我先前所述,咱們在全部的互聯網數據中心預先部署了40個nGrinder Agent,而且安裝了一些插件,讓用戶可以容易且安全地運行他們的測試。所以,當他們開始運行性能測試時,nGrinder用戶不須要聯繫nGrinder管理員。開發者可以經過訪問nGrinder URL,隨時運行他們的測試。 這最終致使了一個跟咱們以前經驗徹底不一樣的用戶體驗。 性能

    如我以前所說的,咱們曾經使用過Performance Center。在那個時候,開發者須要提早登記一個特定的時間段,由於PerformanceCenter在特定的時間內只容許一個測試,而且用戶須要下載和安裝一大堆的應用。而如今一切變得不一樣了,一切都是基於網絡的,使用nGrinder是不須要預定的。這使得整個性能測試的成本大大下降了,並且許多開發者已經開始將nGrinder視爲像Eclipse同樣的平常開發工具中的一個。如今大多數的產品進行檢測,不只在在開發階段的結束也在發展階段ngrinder中間。咱們觀察到同時最多有3個test在同時運行,平均每10分鐘就有1個test被啓動。鑑於性能測試工具一般是在項目的最後階段才被使用的狀況來看,咱們能夠說這樣的執行率是至關使人印象深入的。

    

      <active nGrinder use in NHN. 2013-01-13 was Sunday.> 開發工具

     這就是咱們如何在大型組織範圍內應用nGrinder的。咱們相信,經過分享咱們的經驗,可以使得任何產品變得更加的穩定。歡迎給咱們提供任何的意見。 請使用這個郵件列表給咱們寫信。期待你的體驗反饋! 測試

 nGrinder Home : http://www.nhnopensource.org/
 nGrinder Demo : http://ngrinder-demo.nhnopensource.org(登錄帳戶: user/user) 網站

相關文章
相關標籤/搜索