qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          性能測試—性能環(huán)境與數(shù)據(jù)

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

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北京市| 惠安县| 雷州市| 乌拉特后旗| 蕲春县| 吉林省| 怀集县| 吉木萨尔县| 涪陵区| 山东省| 安陆市| 日喀则市| 邢台市| 资溪县| 临清市| 汝城县| 商水县| 安福县| 青田县| 根河市| 凭祥市| 安阳市| 宝丰县| 阳原县| 平山县| 遂宁市| 鹰潭市| 礼泉县| 博兴县| 阿克陶县| 靖西县| 青龙| 湘乡市| 清水县| 微山县| 镇康县| 广河县| 陈巴尔虎旗| 武冈市| 泸西县| 习水县|