• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 性能測試步驟

    發表于:2014-02-27來源:豆瓣作者:@行知-追尋技術之美點擊數: 標簽:性能測試
    性能測試步驟 我們數據產品團隊一直對外提供數據服務接口,涉及到的外部應用也比較多,所以性能也是我們比較關注的。從去年開始一直進行的對外接口統一的改造中,我們都是一步一步在推進。

      我們數據產品團隊一直對外提供數據服務接口,涉及到的外部應用也比較多,所以性能也是我們比較關注的。從去年開始一直進行的對外接口統一的改造中,我們都是一步一步在推進。

      今天,該產品增加緩存機制,主要是用淘寶的開源KV結構數據引擎tair,這里我不詳細介紹tair,主要說說性能測試的步驟。

      1. 了解線上壓力情況

      列出有各種性能要求的功能,如有并發要求的功能及相應的并發要求、有響應時間要求的功能。數據庫容量,或指定時間的業務處理量。

      如,我們的需求主要用于為**頁面提供數據,目前每天的PV大概是1000W,數據量大概為1000W條記錄,期望的響應時間20ms左右。網站業務方的運營目標是提高一倍的PV量,根據這個指標進行一定的優化,看性能能否滿足。

      2. 計算出施壓量

      一般拿到上面的壓力值,就可以計算出需要的TPS、并發數(一般區分穩定和高峰兩個場景)。

      按80/20原則進行進行峰值,80%的流量集中在20%的時間段。

      推出穩定場景數值:

      Tps = (PV數*0.8/3600*24*0.2)/進程數=9300/6 = 1600(1543)

      Tps = (1000/平均響應時間)*并發用戶數 => 并發數= tps*平均響應時間 / 1000 = 20(12.8)

      推出峰值數值:

      tps=1小時pv數/3600/機器數 = 2400(2314)

      并發數 = 60(19.2)

      3. 準備機器

      一個應用服務器:通過以下命令查看機器配置:cat /proc/cpuinfo;cat /proc/version;df -h;free -m

      一個施壓機,也就是jmeter執行機(公司一般都用這個)。

      最后還有就是數據庫或者Cobar數據源。準備好性能數據。

      4. 服務器環境

      服務器上的java、jetty版本和設置與線上保持一致。我們沒法保證線上機器與線下機器一致,但是盡量將可以一致的東西保持一致。這個估計也是現在很多公司做性能測試無法避免的問題,線上線下環境差異比較大。

      5. 部署應用環境

      修改antx,將涉及的應用ip都改成性能機ip,數據庫也改成性能庫,還有緩存,而后部署。

      尤其是需要注意dubbo注冊到性能注冊中心,而不是功能注冊中心。

      6. 準備腳本并在本地調試通過

      分為一般的http請求如jason格式的,頁面錄制方式的,Java接口方式的 。 ( 備注:一般需要1小時高峰場景,8小時穩定場景!)

      jmeter是一個比較好用的工具,推薦大家都多了解下。jmeter還可以用來做功能測試,對http接口支持的非常好,之前在做接口測試eclipse插件的時候發現的。

      7. 部署腳本到執行機

      大力神平臺實際上也是在執行機執行jmeter的測試計劃。

      所以,一般可以copy到jmeter包到執行機,然后通過執行命令: JMeter -n –t ****.jmx

      8. 執行,過程監控

      1. 直接運行命令:$vajra/vajraJmeter/vajra-jakarta-jmeter/bin/jmeter -n -t unReadMsgCounthigh.jmx -l unReadMsgCounthigh.jtl > unReadMsgCounthigh.log &

      2. 也可通過jvisualvm、jconsole監控,在自己的機器控制臺里運行jvisualvm ,進行jmx監控

      3. netstat -na |grep 10.20.141.18

      jstat -gcutil 18607 1000 1000

      9. 性能報告

      發送一份詳細的報告很有必要,報告必須要有以下幾點,這里不細說了:

      1. 概述,場景設計,數據準備

      2. 監控的性能指標

      3. 結論

      4. 硬件情況

      10. 附錄

      加jconsole和vmvisual監控

      # Add jmx parameters

      JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=10.20.159.81 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9991 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

      10.20.159.81 是性能機的ip

      JAVA的內存使用等可以用下面來設置:

      JAVA_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128m "

    原文轉自:http://www.wangyuxiong.com/archives/51935

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>