容器 軟體效能測試的最佳環境

2021-09-23 06:50:08 字數 1654 閱讀 7541

軟體效能和可伸縮性是我們談論應用程式開發時經常遇到的話題。乙個很大的原因是應用程式的效能和可伸縮性直接影響其在市場上的成功。乙個應用程式,不管它的使用者介面有多好,如果它的響應時間很慢,就不會擁有高市場份額。這就是為什麼我們花這麼多時間改進應用程式的效能和可伸縮性,因為它的使用者基礎在增長。

日常測試失敗在哪?

幸運的是,我們有很多任務具來測試高負荷條件下的軟體行為,也可以幫助識別工具效能和可擴充套件性存在的問題。而其他基準測試工具也可以要求測試系統在高負荷下提供系統穩定性的測試。然而,當我們嘗試使用這些工具來測試企業產品的效能時,我們遇到了效能和規模工程的問題。一般來說,這些產品不是單一的應用程式,而是由幾個不同的應用程式相互互動,以提供一致和統一的使用者體驗。

如果我們只測試它的單個元件,我們就不能獲得關於產品效能和可伸縮性問題的任何有意義的資料。只有在實際場景中測試應用程式,即把整個企業應用程式置於實際工作負載中,才能收集真實的資料。

問題是:我們如何能夠在乙個測試場景實現這一現實的工作量?

容器--救援貨櫃

答案是容器。為了解釋容器如何幫助我們測試產品的效能和可伸縮性,我們來看乙個軟體配置管理工具puppet。puppet使用c5體系結構,其中有乙個或多個puppet主機(伺服器),以及使用puppet執行puppet**(客戶端)配置的系統。

為了理解應用程式的效能和可伸縮性,我們需要在不同系統上執行高負載的puppet-master。為此,我們可以在乙個系統上安裝puppet-master,然後執行我們的作業系統的多個容器,在這裡,我們安裝和執行puppet-agent。

接下來,我們需要配置puppet-agent與puppet-master進行互動,以管理系統配置。這在伺服器處理請求時強調伺服器,並在客戶端更新軟體配置時強調客戶機。

那麼,容器在這裡能起到什麼作用呢?我們能不能只通過乙個指令碼模擬的puppetmaster負載?答案是否定的。即使模擬了負載,我們也會對產品效能有不夠客觀的判斷。在現實生活中,除了puppet-agent或puppet-master之外,使用者系統還將執行許多其他程序,其中每個程序消耗一定數量的系統資源,因此直接通過限制puppet可以使用的資源來影響puppet的效能。

這是乙個簡單的例子,但是在處理多個元件組合的產品時,企業應用程式的效能和規模工程可能會變得脆弱。這就是容器的優勢所在。

為什麼是容器而不是別的?

乙個真正的問題是:為什麼要使用容器而不是虛擬機器(vm)或僅僅是裸機?執行容器背後的邏輯與我們可以啟動的容器影象的數量有關,還有它們相對於替代品的成本問題。

雖然vm提供了強大的機制,但它們也會占用巨大的系統資源,從而限制了可以在單個裸機伺服器上覆制的系統的數量。相比之下,在同乙個系統上啟動1000個容器是相當容易的,這取決於您想實現什麼樣的模擬,同時維持較低的開銷。

使用裸機伺服器,效能和規模可以根據需要實現,但乙個主要問題是成本開銷。你會購買1000臺伺服器只是為了進行測試嗎?這就是為什麼容器總體上提供了一種經濟的和可擴充套件的方法來測試產品在實際情況下的效能,同時還能保持較低的資源成本和開銷成本。

併發環境下的快取容器效能優化(下) 效能測試

需要強調一點的是,我們這裡討論的僅僅是符合我提出的特定場景的快取容器,而不是乙個 執行緒安全的字典 或者說,其實我這裡更強調的是 併發環境下 的 讀 效能,而不涉及idictionary的其他操作 如count 更不會關心如copyto remove這類功能的效能。public inte ce ic...

軟體效能測試

以前做過一些 山寨版 的效能測試,我都說了,是山寨麼,當然不正規,不過,現在有多少企業的測試流程是正規的能,何況效能測試的流程呢。這是現狀,也是機遇。這次因為專案需要,要做乙個比較正規的,而且有一定難度的效能測試了。b s,c s,介面效能,都涉及到,對自己也是個挑戰和提高。這乙個星期主要做需求理解...

效能測試 軟體測試的重中之重

效能測試在軟體的質量保證中起著重要的作用,它包括的測試內容豐富多樣。中國軟體評測中心將效能測試概括為三個方面 應用在客戶端效能的測試 應用在網路上效能的測試和應用在伺服器端效能的測試。通常情況下,三方面有效 合理的結合,可以達到對系統效能全面的分析和瓶頸的 應用在客戶端效能的測試 對於應用在伺服器上...