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

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

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

瀏覽:5日期: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久久,三上悠亚国产精品一区二区三区
欧美不卡在线| 欧美精品第一区| 福利片在线一区二区| 麻豆精品视频在线观看| 电影91久久久| 99久久www免费| 国产精品日韩欧美一区| 在线精品国产亚洲| 午夜精品影视国产一区在线麻豆| 综合一区二区三区| 久久精品 人人爱| 国产精品成久久久久| 精品丝袜在线| 久久最新视频| 国产精品日韩精品中文字幕| yellow在线观看网址| 精品国产乱码久久久久久1区2匹| 日本久久成人网| 三级欧美韩日大片在线看| 欧美日韩中出| 日韩一区二区在线免费| 午夜一级久久| 国产麻豆精品| 国产专区一区| 午夜a一级毛片亚洲欧洲| 风间由美中文字幕在线看视频国产欧美 | 不卡av一区二区| 伊人www22综合色| 精品不卡一区| 中文在线不卡| 国内揄拍国内精品久久| 蜜桃视频第一区免费观看| 麻豆精品一区二区综合av| 蜜臀av免费一区二区三区| 青青国产精品| 影视先锋久久| 久久99蜜桃| 久久亚洲电影| 亚洲综合在线电影| 欧美日韩一区自拍| 欧美日韩国产欧| 久久香蕉精品香蕉| 久久99伊人| 岛国av免费在线观看| 久久国产成人| 超碰超碰人人人人精品| 国产亚洲一区二区三区不卡| 亚洲一级网站| 精品网站aaa| 亚洲+小说+欧美+激情+另类| 久久久久中文| 久久精品伊人| 色综合视频一区二区三区日韩 | 国产精品久久免费视频| 国产一区日韩一区| 久久97视频| 日韩中文av| 妖精视频成人观看www| 高清一区二区三区av| 日本欧美在线| 丝袜诱惑制服诱惑色一区在线观看 | 91精品国产自产观看在线| 99精品综合| 成人在线观看免费视频| 久久国产三级| 日韩一区二区三区高清在线观看| 亚洲手机视频| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 亚洲精品网址| 在线手机中文字幕| 久久精品人人| 国产精品多人| 欧美日一区二区三区在线观看国产免| 国产精品婷婷| 夜夜精品视频| 欧美亚洲国产激情| 日韩精品影视| 久久精品中文| av一区在线| 五月激情久久| 91亚洲国产| 精品国产a一区二区三区v免费| 欧美日韩黄网站| 天堂va欧美ⅴa亚洲va一国产| 一区二区电影| 亚洲三级视频| 一本一道久久a久久| 亚洲综合不卡| 影音先锋国产精品| 国产视频一区免费看| 国产色综合网| 亚洲欧洲美洲国产香蕉| 免费一级片91| 蜜桃久久久久久| 亚洲精品无吗| 日本不卡一二三区黄网| 欧美日韩1区2区3区| 国产午夜久久av| 欧美xxxx性| www.51av欧美视频| 精精国产xxxx视频在线播放 | 国产精品久久久久久久久久妞妞 | 日韩1区2区3区| 欧美日一区二区在线观看| 欧美激情一区| 四季av一区二区凹凸精品| 久久久久久夜| 久久久成人网| 国产色综合网| 亚洲香蕉视频| 国产精品任我爽爆在线播放| 麻豆国产一区| 婷婷综合六月| 爽爽淫人综合网网站| 日韩高清不卡一区| 欧美激情99| 国产99在线| 黄色日韩在线| 四虎成人精品一区二区免费网站| 国产日韩欧美一区二区三区在线观看 | 国产麻豆综合| 欧美久久久网站| 欧美gv在线| 视频一区二区三区中文字幕| 国产亚洲一区二区三区啪| 精品视频一区二区三区四区五区 | 久久中文欧美| 久久精品免费一区二区三区| 免费观看在线色综合| 国产精品1luya在线播放| 麻豆精品蜜桃| 日本亚洲视频在线| 国产不卡精品| 国产精品外国| 精品一区视频| 亚洲免费中文| 久久wwww| 中日韩男男gay无套| 久久激情五月激情| 久久精品播放| 青青草国产精品亚洲专区无| 欧美sss在线视频| 日韩国产一二三区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 欧美片第1页| 综合激情网...| 欧美国产偷国产精品三区| 麻豆久久精品| 国产成人免费| 日韩中文字幕一区二区三区| 麻豆成人91精品二区三区| 99riav1国产精品视频| 成人污污视频| 日韩av中文字幕一区| 婷婷成人在线| 精品三级av| 日本亚洲最大的色成网站www| 日韩国产一区二区| 人人爱人人干婷婷丁香亚洲| 激情综合网五月| 国产成人免费| 日本欧美一区| 伊人久久亚洲热| 在线一区av| 国产精品一区二区美女视频免费看 | 免费av一区二区三区四区| 国产精品成人自拍| 亚洲视频国产精品| 久久久一二三| 精品国产美女a久久9999| 午夜性色一区二区三区免费视频| 国产综合视频| 日韩在线短视频| 电影91久久久| 国产精品久久久久久妇女| 亚洲开心激情| 99在线精品免费视频九九视| 91精品xxx在线观看| 国产伊人久久| 欧美激情在线精品一区二区三区| 四虎精品永久免费| 免费看欧美美女黄的网站| 午夜日本精品| 亚洲涩涩在线| 国产+成+人+亚洲欧洲在线| 国产精品久久亚洲不卡| 91福利精品在线观看| 婷婷亚洲成人| 亚洲精品系列| 亚洲a成人v| 日韩国产一区二| 亚洲精品乱码久久久久久蜜桃麻豆| 红桃视频国产一区| 99国产精品久久久久久久成人热| 国产在线成人| 在线亚洲激情| | 中文字幕日韩欧美精品高清在线| 亚洲一级高清| 亚洲国产不卡|