http://blog.csdn.net/zhangzuyuanbest/article/details/62046043 https://www.cnblogs.com/nnhy/p/BigData.html SQLite單表4億訂單,大數據測試 http://blog.csdn.net/zhao9tian/article/details/40346899 JAVA 模擬瞬間高併發 http://book.51cto.com/art/201110/299804.htm Siege學習 http://www.ha97.com/4663.html Web性能壓力測試工具之Siege詳解 http://blog.csdn.net/envyfan/article/details/42715779 Jmeter對HTTP請求壓力測試、併發測試的簡單使用方法 http://blog.csdn.net/defonds/article/details/40824011 JMeter 壓力測試使用函數和 CSV 文件參數化 json 數據 https://www.cnblogs.com/summer-mm/p/7717812.html 使用JMeter進行一次簡單的帶json數據的post請求測試 |
環境:
- jdk7.0
- tomcat7.0
- sqlite數據庫
測試:
fiddle測試同一時間15次讀請求(全部成功)
fiddle測試同一時間15次寫請求(只有兩次成功)
改用Siege測試讀操作
併發30,重複10次
siege -c 30 -r 10 -f url.txt
併發30,重複30次----失敗
併發30,重複15次
siege -c 30 -r 15 -f url.txt
成功率下降,本應處理30*15=450次請求,實際處理420次請求
當併發30,重複20以上時,會報錯
[error] socket: unable to connect sock.c:230: Address family not supported by protocol
換一個測試工具
apache jmeterV3.1官方版
下載地址:http://www.wmzhe.com/soft-39158.html
雙擊 jmeter.bat 運行
實現測試功能:
壓力測試,多線程併發,同時,重複訪問,post提交,多個json參數
打開界面
添加線程組:
設置線程併發,間隔時間,重複次數
創建HTTP請求:
鼠標右擊該採樣器,右鍵菜單選擇 "添加" -> 配置元件 -> HTTP 信息頭管理器,然後信息頭添加一條名稱爲 Content-Type,值爲 application/json
將 json 數據參數化的兩種方式:
方式一: 使用函數將 http json 數據參數化
像其他採樣器一樣使用函數助手生成一個引用字符串,比如 ${__Random(0,9,random_num_0_9)},它的作用是隨機生成 0 - 9 之間的一個數字。random_num_0_9是變量名
然後編輯 Body Data 裏的 json 串裏需要參數化的地方,使用 ${__Random(0,9,random_num_0_9)} 覆蓋需要參數化的部分:
方式二: 使用 CSV Data Set Config 將 json 數據參數化
右鍵單擊 Thread Group,右鍵菜單選擇 "添加" -> 配置元件 -> CSV Data Set Config
添加運行結果分析監聽器
結合數據庫觀察數據