1. 程式人生 > >性能測試四十六:JavaMall項目需求調研和環境部署

性能測試四十六:JavaMall項目需求調研和環境部署

pps goods linux下 由於 發生 註意 指標 但是 驗證碼識別

javamall項目
一個完整的電子商務網站,包含瀏覽、搜索、支付、購物車、下單等功能

由於此項目為商業性的,所以部署的時候一檢測到時liunx系統就會無法訪問,所以需先在windows下部署(要求jdk1.7),做完配置後,再拷到liunx下

技術分享圖片

項目流程
1、需求調研
  測試範圍:訂單流程、搜索
  系統架構:tomcat+mysql
  業務邏輯 & 數據流向:略
  測試數據量:商品數量:10w,用戶數據:1w
  外部依賴:有(支付),但是不需要測
  預期指標:
    1、業務監控系統,找到業務量峰值,除以機器數量,計算出單機系統每秒的業務量 * 性能冗余量(30%-50%)
    2、訪問日誌統計接口調用量。或者數據庫表中查詢每天的寫入數據量 * 性能冗余量(30%-50%)

技術分享圖片

    分析日誌裏面調用次數前十的接口:

    命令:awk ‘{print $7}‘ access.log | sort | uniq -c | sort -rn | head -10:

    {print $7}:先用空格對數據進行分割,然後找到第七位

    sort:按照接口的名稱進行排序

    uniq -c:去重、再排序

    sort -rn:再排序的時候按統計出來的訪問次數倒序排序

    head -10:打印前十行

技術分享圖片

技術分享圖片

    3、28原則,只知道每天大概的業務總量,(每天的總業務量*80%) / (24小時*3600 *20%)/ 部署機器數量 / 性能冗余量(30%-50%) ,如,一天有10000的業務量,則認為有8000的業務量發生在24*3600*20%=17280秒內,則tps=8000/17280*機器數量*(30%--50%)

  業務比例(混合場景):
    下單:搜索=1:3

2、javamall項目環境部署

  1,新建數據庫javamall,導入javamall.sql

技術分享圖片

技術分享圖片

把項目解壓到tomcat/webapps下

技術分享圖片

  2,config目錄下的jdbc.properties文件、eop.properties文件裏的各種目錄設置,註意,windows下目錄為\\,如:D:\\test\\abc;Linux下為/,如/export/servers/
 技術分享圖片

jdbc文件:

技術分享圖片

eop文件:

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

  3,啟動tomcat,瀏覽器訪問http://localhost:8080/javamall/
技術分享圖片

註冊有一個賬號,看和數據庫有沒有連通:

技術分享圖片

技術分享圖片

技術分享圖片

3、腳本編寫
  1),登錄驗證碼的常見解決思路:
    a.讓開發提供一個萬能的驗證碼,每次校驗都可以通過
    b.讓開發在測試環境中去掉驗證碼
    c.使用驗證碼識別工具,在腳本中自動識別驗證碼,缺點是識別率不太高,容易出錯

  2),下單場景:首頁-登錄-加購物車-下單
    搜索場景:搜索


4、構造數據
先構造用戶數據:es_member表
再構造可下單的商品數據
a> goods表新增一條數據
b> product表新增一條數據,對應一個goods
c> 庫存表新增一條數據,對應goods和product
d> 獲取數據庫上一次的自增id函數:LAST_INSERT_ID();


5、執行壓測,尋找各接口tps拐點

6、服務器監控
CPU、內存、磁盤、網絡、JVM、線程、數據庫

7、測試報告

性能測試四十六:JavaMall項目需求調研和環境部署