1. 程式人生 > >15個使用者訪問時只有兩個使用者成功,其他使用者要等10分鐘後才行(描述不來了)

15個使用者訪問時只有兩個使用者成功,其他使用者要等10分鐘後才行(描述不來了)

參考連線
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.htmSiege學習
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)} 覆蓋需要引數化的部分
使用函式將 http json 資料引數化

方式二: 使用 CSV Data Set Config 將 json 資料引數化

右鍵單擊 Thread Group,右鍵選單選擇 "新增" -> 配置元件 -> CSV Data Set Config



新增執行結果分析監聽器





結合資料庫觀察資料