日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談Spring Boot: 接口壓測及簡要優化策略

瀏覽:2日期:2023-08-12 08:41:25

工程做好之后,需要對接口進行壓力測試??梢宰约壕帉懢€程池模擬多用戶訪問測試,也可以使用jmeter進行壓測。jmeter的好處是測試方便,并且有完善的結果分析功能。本次采用jmeter進行壓力測試。

1.準備數據,為了測試準備200w條以上的數據。一個簡單的方法是使用下面的sql快速創建。

INSERT INTO table (user_name,address)

SELECT user_name, address FROM table;

但這樣創建的數據不同記錄的重復部分太多,和實際業務不太相符。一般業務上,除了主鍵之外還會有某一個字段是唯一,比如手機號,用戶名等。本次將user_name設置為唯一,簡單采用UUID的方式生成。

@RequestMapping('/create')public Integer createData(Integer password) {if (password != 1024) {return 0;}ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(10,20, 1, TimeUnit.MINUTES,new ArrayBlockingQueue<Runnable>(100000),Executors.defaultThreadFactory(), new ThreadPoolExecutor.CallerRunsPolicy());int max = 1000000;for (int i = 0; i < max; i++) {poolExecutor.execute(() -> {Date now = new Date();User user = new User();user.setStatus(0);user.setUserName(UUID.randomUUID().toString().replace('-', ''));user.setAddress('');user.setCreateTime(now);user.setUpdateTime(now);userService.saveUser(user);});}return 1;}

采用線程池技術來生成數據。部分參數參考自己的配置進行設置。我這里采用核心線程數10,最大線程數20,阻塞隊列容量10w,拒絕策略CallerRunsPolicy的參數來生成。

數據生成以后,確認下生成數量,可以看到所有的user_name都是不同的。

select count(*),count(distinct user_name) from user

淺談Spring Boot: 接口壓測及簡要優化策略

2.改造接口。為了測試方便,使用公共mapper。引入依賴

<dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId></dependency>

修改啟動類MapperScan注解為import tk.mybatis.spring.annotation.MapperScan;

mapper接口繼承extends Mapper,(import tk.mybatis.mapper.common.Mapper;)。這樣就會為mapper生成insert,select等基本方法。

3.測試。

所測試的接口為

@RequestMapping(value = '/hello', method = {RequestMethod.POST})public List<User> getUser(User user) {return userService.getUserByUser(user);}

打開jmeter,通過Option選擇中文語言。創建測試計劃,這次僅對接口進行壓力測試。

測試參數選擇userName,并使用隨機生成的UUID,這樣可以保證最終訪問DB時不觸發任何緩存。

1.文件-新建測試計劃

2.編輯-添加-線程-線程組

3.選中線程組,編輯-添加-邏輯控制器-事務控制器

4.選中事務控制器,編輯-添加-取樣器-BeanShell 取樣器

5.選中事務控制器,編輯-添加-HTTP請求

6.選中BeanShell取樣器,將下面代碼復制到腳本框里面,內容即為設置user_name變量為UUID。

import java.util.UUID;UUID uuid1 = UUID.randomUUID();vars.put('user_name',(uuid1.toString()).toUpperCase().replaceAll('-',''));

淺談Spring Boot: 接口壓測及簡要優化策略

7.選中HTTP請求,設置如下,其中參數部分內容為:

名稱 值 userName ${user_Name}

這樣就可以將步驟6生成的參數傳遞為HTTP POST請求的參數了。

淺談Spring Boot: 接口壓測及簡要優化策略

添加結果樹,匯總報告等,最終結構:

淺談Spring Boot: 接口壓測及簡要優化策略

8.選中線程組,設置線程數等信息,詳細請參照官網:https://jmeter.apache.org/usermanual/index.html

淺談Spring Boot: 接口壓測及簡要優化策略

這里先設置線程數為2000,由于要壓力測試,設置Ramp-up為1秒,即1秒內啟動所有線程。

9.啟動線程組。在這里插入圖片描述

10.結果樹里面可以確認具體每次請求的參數:

淺談Spring Boot: 接口壓測及簡要優化策略

匯總報告里面可以查看總體信息:

淺談Spring Boot: 接口壓測及簡要優化策略

通過以上步驟,可以初步預估下系統各個接口的吞吐量等信息。第一次壓測中user_name自動沒有設置索引,可以通過一些方法來提高系統性能:

1.為user_name設置索引。

2.使用redis緩存,其一是緩存最近檢索數據,其二是將表中所有user_name存入緩存(Set),請求到來時首先去緩存中查看是否存在,只有存在的時候才去檢索DB。

3.若數據量過大,可采用布隆過濾器存儲user_name。

4.限流,這里只說API層面的,guava包下RateLimiterJ;自寫切面+Redis;Spring Cloud GateWay。

工程地址:https://github.com/showsys20/spring-demo-cm.git

以上這篇淺談Spring Boot: 接口壓測及簡要優化策略就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
樱桃成人精品视频在线播放| 日本视频在线一区| 欧美日韩在线二区| 亚洲经典在线| 欧美日韩亚洲一区二区三区在线| 精品免费在线| 五月精品视频| 欧美日韩中出| 九九精品调教| 日韩精品午夜视频| аⅴ资源天堂资源库在线| 99国产精品| 国产精品手机在线播放| 国产成人精品亚洲线观看 | 国产精选在线| 视频在线观看91| 精品久久精品| 水野朝阳av一区二区三区| 久久这里只有精品一区二区| 香蕉国产精品| 麻豆精品一区二区综合av| 伊人精品在线| 久久精品国产精品亚洲毛片| 婷婷六月综合| 麻豆国产欧美日韩综合精品二区| 欧美午夜不卡| 国产精品欧美日韩一区| 欧美日韩一二| 国产精品久久久久久久久免费高清| 尤物tv在线精品| 国产精品视频一区二区三区综合| 国产韩日影视精品| 精品视频99| 亚洲2区在线| 久久精品国产www456c0m| 国产麻豆一区| 国产婷婷精品| av高清不卡| 91国内精品| 亚洲免费观看| 美女视频网站久久| 蜜乳av另类精品一区二区| 成人午夜在线| 亚洲精品美女91| 亚洲福利一区| 精品国产不卡| 日韩极品在线观看| 亚洲五月婷婷| 国产一区精品福利| 91嫩草精品| 丝袜亚洲精品中文字幕一区| 成人日韩在线观看| 国产精品日韩精品在线播放| 一区二区三区四区日韩| 女同性一区二区三区人了人一| 四虎国产精品免费观看| 91成人精品在线| 丝袜美腿高跟呻吟高潮一区| 国产在线日韩| 久久精品1区| 成人影视亚洲图片在线| 欧美日一区二区在线观看| 亚洲一区二区av| 亚洲精品99| 久久一区二区中文字幕| 人人草在线视频| 成人精品高清在线视频| 国产精品久久久一区二区| 视频一区中文字幕精品| 午夜在线观看免费一区| 欧美成人国产| 丝袜诱惑一区二区| 精品三区视频| 精品视频黄色| 成人污污视频| 国产成人精品一区二区三区免费| 国产精品欧美日韩一区| 国产亚洲人成a在线v网站| 日韩在线观看中文字幕| 亚洲一级大片| 亚洲精品在线国产| 亚洲久久视频| 中文字幕日韩亚洲| 亚洲精品影院在线观看| 美国三级日本三级久久99| 亚洲欧美激情诱惑| 欧美日韩视频| 日韩午夜一区| 黄色欧美日韩| 国产精品日韩| 在线亚洲自拍| 蜜桃视频第一区免费观看| 另类av一区二区| 在线观看一区| 日韩精品久久理论片| 亚洲精品一级| 久久精品超碰| 久久99久久人婷婷精品综合| 蜜桃久久久久| 国内揄拍国内精品久久| 五月激情久久| 99精品一区| 在线 亚洲欧美在线综合一区| 亚洲综合电影一区二区三区| 久久成人精品| 日韩精品亚洲aⅴ在线影院| 国产一卡不卡| 高清av一区| 久久人人88| 久久福利精品| 欧美有码在线| 美女精品久久| 久久久国产亚洲精品| 伊人久久大香线蕉av超碰演员| 亚洲一区二区av| 国产精品最新| 捆绑调教日本一区二区三区| 日本免费一区二区三区四区| 久久国产免费| 日韩中文字幕区一区有砖一区| 日精品一区二区三区| 国产日韩免费| 国产夫妻在线| 9国产精品视频| 911亚洲精品| av高清不卡| 日韩亚洲国产欧美| 日韩高清一区在线| 精品国产不卡| 欧美特黄一级| 国产日韩高清一区二区三区在线| 日韩av有码| 婷婷激情一区| 免费在线观看成人| 国产欧美日韩视频在线| 婷婷综合六月| 亚洲日本久久| 国产一区二区三区黄网站| 精品欧美激情在线观看| 午夜精品影视国产一区在线麻豆| 久久亚洲道色| 亚洲一区免费| 久久中文字幕导航| 午夜日韩在线| 欧美激情五月| 日韩一级精品| 老司机免费视频一区二区| 99久久九九| 欧美日韩伊人| 欧美福利在线| 国产精品久久久久久久久免费高清 | 成人小电影网站| 久久亚洲图片| 国产一区国产二区国产三区| 国产精品日本| 韩日一区二区| 亚洲专区一区| 精品国产aⅴ| 日韩制服丝袜av| 欧美丰满日韩| 日韩精品91亚洲二区在线观看| 亚洲精品88| 91大神在线观看线路一区| 亚洲91视频| 国产情侣久久| 99亚洲视频| 成人在线视频免费看| 免费成人在线视频观看| 超碰成人av| 欧美精品中文| 亚洲在线观看| 成人国产精品一区二区免费麻豆| 婷婷亚洲精品| 91久久国产| 高清久久精品| 欧美日韩一区自拍| 亚洲在线国产日韩欧美| av高清不卡| 免费一级欧美在线观看视频| 日韩精品一二区| 日韩精品看片| 美女精品一区二区| 亚洲精品自拍| 欧美日韩国产亚洲一区| 日韩欧美字幕| 久久精品国产福利| 亚洲精品国产日韩| 午夜日韩福利| 欧美日韩视频网站| 国产精品22p| 婷婷成人av| 日韩中文欧美在线| 欧美日韩第一| 国产 日韩 欧美一区| 狠狠久久伊人中文字幕| 国产精品调教| 青青国产精品| 亚洲三级国产| 9久re热视频在线精品| 99久精品视频在线观看视频|