qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          性能測試—性能環境與數據

          性能環境,也是困擾性能測試人員很重要的一個問題。如何模擬線上真實的環境?如何在測試環境進行的性能測試結果,能準確的反應到生產線上去?
            先聊下我們的做法。
            首先確認線上的網絡拓撲圖。比如:
            左邊是線上環境,線上一般是分布式集群部署。比如用戶訪問服務器A,而服務器A需要依賴到服務器B和C提供的服務,而服務器C與DB存儲打交道。那么在性 能測試環境,為了模擬用戶的行為,需要搭建服務器A,B,C和DB各一臺。通過對單臺服務器A的壓測結果TPS,再線性乘以機器數量,完成線上服務器A集 群的TPS的評估。
            這樣做,簡單的完成了線上和線下的結果推算。但是這樣做,有一個前提:就是保證線上和性能測試環境的機器配置是一樣的。機器的配置分為2個部分:硬件和軟件。
            硬件方面,比如機器是4核4G的xen虛擬機,千兆網卡,SATA磁盤。
            軟件方面,包括操作系統的版本,位數,比如:redhat 5.4,**位機器;JDK版本:openJDK 1.6.0;JVM參數配置;web容器:tomcat7.
            上面說的是應用層面,性能測試還有很重要的一步,就是性能測試數據的準備。
            性能測試數據庫的環境也與應用層一樣,保持和線上一樣的硬件與軟件配置。這里有個問題就是:生產線上一臺數據庫,對應多臺應用。而在性能測試環境中,被我們映射成1:1的關系后,很難找到數據庫層的性能瓶頸,因為在壓測過程中,應用層會比數據層更快到達性能瓶頸。
            接下來,簡單描述下性能測試數據的準備。性能測試數據的準備也分為2個部分。1是業務數據,2是基礎數據。
            什么是業務數據?業務數據就是性能測試要模擬的用戶擁有的數據。比如賣家A,有100個商品。100就是業務數據。基礎數據就是商品所在表的總數據量。比如100W。
            性能測試的數據,不光要關注業務,更要關注數據庫表的量級,因為100條數據,和100W條數據,性能測試出來完全是兩個結果。
            為了數據的準確性,性能測試的數據表,也要滿足生產線上表的量級。
            滿足了這些條件,性能環境才能基本真實模擬生產線的環境,測試出來的結果才有推算上線后結果的可能。
            后記:
            每個公司的業務不同,系統架構也不同,所以性能測試環境方面肯定有很大的差異。我只是簡單的寫了我所在公司的性能環境的一些知識,分享給大家,供大家一個參考,希望你能從這里獲得有用的東西。關于性能測試環境,我的一些觀點:
            1. 如果允許生產線做性能測試,就盡量做生產線性能測試。同樣的環境,性能測試的結果才有意義,性能測試的價值也最大體現。
            2. 測試環境的配置可以與線上一樣,可以做下N:1的映射。結果線性乘以機器數,可以評估線上集群的負載。
            3. 真沒條件,線上線下環境差異很大。就盡量找一些代碼級別的性能瓶頸。優化后再上線,線下的結果就不用去推算線上,很不科學

          posted on 2014-05-04 12:56 順其自然EVO 閱讀(520) 評論(0)  編輯  收藏 所屬分類: 性能測試web 前端性能測試

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 达州市| 龙南县| 吉林市| 涟源市| 邵阳县| 永年县| 东山县| 凤山县| 万宁市| 怀安县| 徐汇区| 虞城县| 潮安县| 禹城市| 东至县| 建阳市| 卓资县| 香港 | 手机| 廉江市| 日土县| 古蔺县| 永州市| 霞浦县| 卢龙县| 县级市| 原阳县| 新闻| 常宁市| 大同市| 长沙市| 丽水市| 清镇市| 牙克石市| 揭阳市| 绥德县| 巴彦县| 潜山县| 瑞昌市| 娄底市| 漯河市|