国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用

這篇具有很好參考價(jià)值的文章主要介紹了Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

引出


1.驗(yàn)證碼:如何生成一個(gè)唯一的ID;
2.UUID和雪花ID,雪花ID遞增趨勢(shì),純數(shù)字;
3.驗(yàn)證碼應(yīng)用,生成驗(yàn)證碼,過(guò)期時(shí)間,存redis,前端顯示;
4.JMeter高并發(fā)測(cè)試,官網(wǎng)下載,漢語(yǔ)設(shè)置;
5.JMeter的使用方法;文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-601621.html

Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼

凡是和搶相關(guān)的,redis+MQ

1.整體流程

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

2.雪花ID

1)UUID(Universally Unique Identifier,通用唯一識(shí)別碼)

UUID(Universally Unique Identifier,通用唯一識(shí)別碼)是按照開放軟件基金會(huì)(OSF)制定的標(biāo)準(zhǔn)計(jì)算,用到了以太網(wǎng)卡地址、納秒級(jí)時(shí)間、芯片 ID 碼和許多可能的數(shù)字。

UUID 是由一組 32 位數(shù)組成,由16 進(jìn)制數(shù)字所構(gòu)成,是故 UUID 理論上的總數(shù)為16的32次方。這個(gè)總數(shù)是多大呢?打個(gè)比方,如果每納秒產(chǎn)生 1 百萬(wàn)個(gè) UUID,要花 100 億年才會(huì)將所有 UUID 用完。

UUID 通常以連字號(hào)分隔的五組來(lái)顯示,形式為 8-4-4-4-12,總共有 36 個(gè)字符(即 32 個(gè)英數(shù)字母和 4 個(gè)連字號(hào))。例如: 123e4567-e89b-12d3-a456-426655440000 。

JDK 從 1.5 開始在 java.util 包下提供了一個(gè) UUID 類用來(lái)生成 UUID:

UUID uuid = UUID.randomUUID();
String uuidStr1 = uuid.toString();
String uuidStr2 = uuidStr1.replaceAll("-","");

UUID 的缺點(diǎn)和一個(gè)『好』ID 的標(biāo)準(zhǔn)

UUID的缺點(diǎn):

為了得到一個(gè)全局唯一 ID,很自然地就會(huì)想到 UUID 算法。但是,UUID 算法有明顯的缺點(diǎn):

  • UUID 太長(zhǎng)了,通常以 36 長(zhǎng)度的字符串表示,很多場(chǎng)景不適用。

  • 非純數(shù)字。UUID 中會(huì)出現(xiàn) ABCDEF 這些十六進(jìn)制的字母,因此,在數(shù)據(jù)庫(kù)和代碼中,自然就不能存儲(chǔ)在整型字段或變量。因此,在數(shù)據(jù)庫(kù)中以它作為主鍵,建立索引的代價(jià)比較大,性能有影響。

  • 不安全。UUID 中會(huì)包含網(wǎng)卡的 MAC 地址。

一個(gè)『好』ID 的標(biāo)準(zhǔn)應(yīng)該有哪些:

  • 最好是由純數(shù)字組成。

  • 越短越好,最好能存進(jìn)整型變量和數(shù)據(jù)庫(kù)的整型字段中。

  • 信息安全。另外,『ID 連續(xù)』并非好事情。

  • 在不連續(xù)的情況下,最好是遞增的。即便不是嚴(yán)格遞增,至少也應(yīng)該是趨勢(shì)遞增。

2)Twitter 的雪花算法(SnowFlake)

Snowflake 是 Twitter(美國(guó)推特公司)開源的分布式 ID 生成算法。最初 Twitter 把存儲(chǔ)系統(tǒng)從 MySQL 遷移到 Cassandra(它是NoSQL數(shù)據(jù)庫(kù)),因?yàn)镃assandra 沒(méi)有順序 ID 生成機(jī)制,所以 Twitter 開發(fā)了這樣一套全局唯一 ID 生成服務(wù)。

SnowFlake 優(yōu)點(diǎn):

整體上按照時(shí)間自增排序,并且整個(gè)分布式系統(tǒng)內(nèi)不會(huì)產(chǎn)生 ID 碰撞(由數(shù)據(jù)中心 ID 和機(jī)器 ID 作區(qū)分),并且效率較高。經(jīng)測(cè)試,SnowFlake 每秒能夠產(chǎn)生 26 萬(wàn) ID 左右。

Snowflake 會(huì)生成一個(gè) long 類型的數(shù)值,long是8個(gè)字節(jié),一共是64位,Snowflake 對(duì)于 long 的各個(gè)位都有固定的規(guī)范:

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

位數(shù) 作用
時(shí)間戳41位 當(dāng)前時(shí)間戳與指定的時(shí)間戳之間的差值,即:(指定時(shí)間戳 - 當(dāng)前時(shí)間戳)。
數(shù)據(jù)中心5位 配置文件或環(huán)境構(gòu)成,比如使用ip地址生成。
實(shí)例(機(jī)器標(biāo)志位)5位 同一數(shù)據(jù)中心,機(jī)器碼設(shè)置。
12位毫秒內(nèi)的計(jì)數(shù)器 1毫秒之內(nèi)產(chǎn)生不同id

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

  • 最高位標(biāo)識(shí)(1 位)

    由于 long 基本類型在 Java 中是帶符號(hào)的,最高位是符號(hào)位,正數(shù)是 0,負(fù)數(shù)是 1,因?yàn)?id 一般是正數(shù),所以最高位是 0 。

  • 毫秒級(jí)時(shí)間戳(41 位)

    注意,41 位時(shí)間戳不是存儲(chǔ)當(dāng)前時(shí)間的時(shí)間戳,而是存儲(chǔ)時(shí)間的差值(當(dāng)前時(shí)間戳 - 開始時(shí)間戳) 得到的值,這里的的開始時(shí)間,一般是我們的 id 生成器開始使用的時(shí)間,由我們程序來(lái)指定的(如下面程序 IdGenerator 類的 startTime 屬性)。

    41 位的時(shí)間截,可以使用 69 年。

    2的41次方 除以 (1000毫秒 * 60 * 60 * 24 * 365) = 69

  • 數(shù)據(jù)機(jī)器位(10 位)

    10-bit機(jī)器可以分別表示1024臺(tái)機(jī)器,這 10 位的機(jī)器位實(shí)際上是由 5 位的 互聯(lián)網(wǎng)數(shù)據(jù)中心(datacenterId) 和 5 位的工作機(jī)器id(workerId) 。這樣就可以有32個(gè)互聯(lián)網(wǎng)數(shù)據(jù)中心(機(jī)房)(2的5次方),每個(gè)互聯(lián)網(wǎng)數(shù)據(jù)中心可以有32臺(tái)工作機(jī)器 。即,總共允許存在 1024 臺(tái)電腦各自計(jì)算 ID 。

    每臺(tái)電腦都由 data-center-id 和 worker-id 標(biāo)識(shí),邏輯上類似于聯(lián)合主鍵的意思。

  • 12位的自增序列號(hào),用來(lái)記錄同毫秒內(nèi)產(chǎn)生的不同id,就是一毫秒內(nèi)最多可以產(chǎn)生4096個(gè)id

    毫秒內(nèi)的計(jì)數(shù),12為的自增序列號(hào) 支持每個(gè)節(jié)點(diǎn)每毫秒(同一機(jī)器,同一時(shí)間截)產(chǎn)生 4096(2的12次方) 個(gè) ID 序號(hào),這種分配方式可以保證在任何一個(gè)互聯(lián)網(wǎng)數(shù)據(jù)中心的任何一臺(tái)工作機(jī)器在任意毫秒內(nèi)生成的ID都是不同的

面試常問(wèn):如果是并發(fā)量高,同一臺(tái)機(jī)器一毫秒有5000個(gè)id,那么id會(huì)不會(huì)重復(fù),不會(huì),根據(jù)源碼如果一毫秒內(nèi)超過(guò)4096個(gè)id,則會(huì)阻塞到下一毫秒再生成

雪花ID優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

1、生成速度快經(jīng)測(cè)試,SnowFlake每秒能夠產(chǎn)生26萬(wàn)ID左右。

2、生成id有序,雪花算法生成的id整體是遞增的,但是不是連續(xù)的。

3、本地即可生成,無(wú)需消耗額外的資源,如zookeeper、redis等。

缺點(diǎn)

1、id長(zhǎng)度比較長(zhǎng)(大概18位)

2、id不連續(xù),生成的id是無(wú)規(guī)則的。

3、如果機(jī)器時(shí)鐘回?fù)?,就?huì)導(dǎo)致id生成失敗。

4、不同機(jī)器的時(shí)鐘不是完全一致的,導(dǎo)致全局的id并不是統(tǒng)一向上自增。

時(shí)鐘回?fù)?/h4>
  1. 人為原因,把系統(tǒng)環(huán)境的時(shí)間改了。
  2. 有時(shí)候不同的機(jī)器上需要同步時(shí)間,可能不同機(jī)器之間存在誤差,那么可能會(huì)出現(xiàn)時(shí)間回?fù)軉?wèn)題。

Leaf——美團(tuán)點(diǎn)評(píng)分布式ID生成系統(tǒng) - 美團(tuán)技術(shù)團(tuán)隊(duì) (meituan.com)

uid-generator/README.zh_cn.md at master · baidu/uid-generator · GitHub

3.雪花id的工具類SnowFlakeUtil.java

<!--        雪花id-->
        <!--    工具包-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.11</version>
        </dependency>
package com.tianju.springboot.util;

import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.net.NetUtil;
import cn.hutool.core.util.IdUtil;
import lombok.extern.slf4j.Slf4j;


import javax.annotation.PostConstruct;

/**
 * 雪花id的工具類
 */
@Slf4j
public class SnowFlakeUtil {
    private static long workerId = 0;
    private static long datacenterId = 1;
    private static Snowflake snowflake = IdUtil.getSnowflake(workerId,datacenterId);

    @PostConstruct // 自動(dòng)調(diào)用,在構(gòu)造方法前做
    public void init(){
        try {
            workerId = NetUtil.ipv4ToLong(NetUtil.getLocalhostStr());
            log.info("當(dāng)前機(jī)器的workId:{}",workerId);
        }catch (Exception e){
            log.error("當(dāng)前機(jī)器的workId獲取失敗",e);
            workerId = NetUtil.getLocalhostStr().hashCode();
        }
    }

    public static synchronized long snowflakeId(){
        return snowflake.nextId();
    }

    public static synchronized  String snowflakeIdStr(){
        return String.valueOf(snowflake.nextId());
    }

    public static void main(String[] args) {

        System.out.println(SnowFlakeUtil.snowflakeIdStr());
    }
}

4.生成驗(yàn)證碼

流程:

  • 生成4位的驗(yàn)證碼;
  • 產(chǎn)生唯一的id,作為驗(yàn)證碼的key;
  • 以key,value的形式存儲(chǔ)到redis中;
  • 前端顯示驗(yàn)證碼圖片;

設(shè)置驗(yàn)證碼的有效時(shí)間

// 3.redis中存儲(chǔ),key-value,設(shè)置有效時(shí)間為 60 s
stringRedisTemplate.opsForValue().set(key,code,60,TimeUnit.SECONDS);

package com.tianju.springboot.controller;

import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.LineCaptcha;
import com.tianju.springboot.dto.HttpRespSimple;
import com.tianju.springboot.util.SnowFlakeUtil;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Objects;

import java.util.concurrent.TimeUnit;

/**
 * 雪花id的調(diào)用,返回一張圖片
 */
@RestController
@RequestMapping("/api/user/code")
public class CodeDemoController {

    @Resource
    private StringRedisTemplate stringRedisTemplate;

    @GetMapping("/snowcode.jpg")
    public HttpRespSimple createCode(HttpServletResponse response) throws IOException {
        // 1.產(chǎn)生驗(yàn)證碼
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100, 4, 10);
        String code = lineCaptcha.getCode();

        // 2.產(chǎn)生唯一的值,作為key,用雪花id作為唯一的key
        String key = SnowFlakeUtil.snowflakeIdStr(); // 生成雪花id,string類型的

        // 3.redis中存儲(chǔ),key-value,設(shè)置有效時(shí)間為 60 s
        stringRedisTemplate.opsForValue().set(key,code,60,TimeUnit.SECONDS);

        // 4.返回給瀏覽器cookie
        response.addCookie(new Cookie("vc", key));

        // 5.顯示到前端
        lineCaptcha.write(response.getOutputStream());
        System.out.println(">>>>>>>>>>>>驗(yàn)證碼為:"+code);
        return new HttpRespSimple(20001, "驗(yàn)證碼創(chuàng)建成功");
    }

    @GetMapping("/inputcode")
    public HttpRespSimple inputCode(HttpServletRequest request){
        for (Cookie cookie: request.getCookies()) {
            if (cookie.getName().equals("vc")){
                String key = cookie.getValue();
                System.out.println("從redis取出存入的驗(yàn)證碼:"+stringRedisTemplate.opsForValue().get(key));

                if (Objects.isNull(stringRedisTemplate.opsForValue().get(key))){
                    return new HttpRespSimple(40001, "驗(yàn)證碼無(wú)效");
                }else {
                    return new HttpRespSimple(20002, "驗(yàn)證碼成功");
                }
            }
        }
        return new HttpRespSimple(20003, "驗(yàn)證碼不存在");
    }
}

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

前端顯示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>驗(yàn)證碼</title>
</head>
<body>
<!--http://localhost:9090/api/user/code/snowcode.jpg-->
<img src="/api/user/code/snowcode.jpg">

</body>
</html>

5.JMeter測(cè)試驗(yàn)證碼生成

1)新建線程組

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

2)設(shè)置參數(shù)

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

3)添加取樣器

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

4)設(shè)置參數(shù):協(xié)議,ip,端口,請(qǐng)求方式,路徑

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

5)添加查看結(jié)果樹

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

6)啟動(dòng)+查看結(jié)果

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

JMeter

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

什么是JMeter?

Apache JMeter?

The Apache JMeter? application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance(接口性能),It was originally designed for testing Web Applications but has since expanded to other test functions.

JMeter安裝配置

1.官網(wǎng)下載

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

2.下載后解壓

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

3.漢語(yǔ)設(shè)置

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

JMeter的使用方法

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

1.新建線程組

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

2.設(shè)置參數(shù)

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

3.添加取樣器

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

4.設(shè)置參數(shù):協(xié)議,ip,端口,請(qǐng)求方式,路徑

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

5.添加查看結(jié)果樹

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java

6.啟動(dòng)+查看結(jié)果

Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用,# Redis,redis,jmeter,數(shù)據(jù)庫(kù),java


總結(jié)

1.驗(yàn)證碼:如何生成一個(gè)唯一的ID;
2.UUID和雪花ID,雪花ID遞增趨勢(shì),純數(shù)字;
3.驗(yàn)證碼應(yīng)用,生成驗(yàn)證碼,過(guò)期時(shí)間,存redis,前端顯示;
4.JMeter高并發(fā)測(cè)試,官網(wǎng)下載,漢語(yǔ)設(shè)置;
5.JMeter的使用方法;

到了這里,關(guān)于Redis應(yīng)用(2)——Redis的項(xiàng)目應(yīng)用(一):驗(yàn)證碼 ---> UUID到雪花ID & JMeter高并發(fā)測(cè)試 & 下載安裝使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Jmeter并發(fā)測(cè)試

    Jmeter并發(fā)測(cè)試

    基本步驟 1、新建線程組 測(cè)試計(jì)劃右鍵——添加——線程(用戶)——線程組 2、?添加HTTP請(qǐng)求 線程組右鍵——添加——取樣器——HTTP請(qǐng)求 3、?添加HTTP信息頭管理器 線程組右鍵——添加——配置元件——HTTP信息頭管理器 4、 配置獲取token的請(qǐng)求 5、 配置后置處理器----json提

    2024年02月14日
    瀏覽(21)
  • Jmeter性能測(cè)試:高并發(fā)分布式性能測(cè)試

    Jmeter性能測(cè)試:高并發(fā)分布式性能測(cè)試

    當(dāng)進(jìn)行高并發(fā)性能測(cè)試的時(shí)候,受限于Jmeter工具本身和電腦硬件的原因,無(wú)法滿足我們對(duì)大并發(fā)性能測(cè)試的要求。 基于這種場(chǎng)景下,我們就需要采用分布式的方式來(lái)實(shí)現(xiàn)我們高并發(fā)的性能測(cè)試要求。 ?要進(jìn)行分布式性能測(cè)試,我們首先要一臺(tái)機(jī)器作為主控機(jī)(Controller),其

    2024年02月08日
    瀏覽(43)
  • 互聯(lián)網(wǎng)中的商品超賣問(wèn)題及其解決方案:Java中Redis結(jié)合UUID的應(yīng)用

    互聯(lián)網(wǎng)中的商品超賣問(wèn)題及其解決方案:Java中Redis結(jié)合UUID的應(yīng)用

    在設(shè)計(jì)商品下單和庫(kù)存扣減,你一定遇到過(guò)這樣的問(wèn)題,庫(kù)存扣減為0了,可是消費(fèi)者還能下單,并將訂單信息保存到了數(shù)據(jù)庫(kù)里,針對(duì)商品超賣問(wèn)題,作此篇以解決。 隨著互聯(lián)網(wǎng)商業(yè)的飛速發(fā)展,商品超賣問(wèn)題逐漸凸顯為電商平臺(tái)面臨的一大挑戰(zhàn)。尤其是在大型促銷活動(dòng)期

    2024年02月04日
    瀏覽(21)
  • Jmeter(三十):并發(fā)測(cè)試(設(shè)置集合點(diǎn))

    Jmeter(三十):并發(fā)測(cè)試(設(shè)置集合點(diǎn))

    集合點(diǎn):讓所有請(qǐng)求在不滿足條件的時(shí)候處于等待狀態(tài)。 如:我集合點(diǎn)設(shè)置為50,那么不滿足50個(gè)請(qǐng)求的時(shí)候,這些請(qǐng)求都會(huì)集合在一起,處于等待狀態(tài),當(dāng)達(dá)到50的時(shí)候,就一起執(zhí)行。從而達(dá)到并發(fā)的效果。 那么Jmeter中可以通過(guò)同步定時(shí)器?Synchronizing Timer 來(lái)完成。 Number?

    2024年02月11日
    瀏覽(17)
  • JMeter之壓力測(cè)試——混合場(chǎng)景并發(fā)

    JMeter之壓力測(cè)試——混合場(chǎng)景并發(fā)

    在實(shí)際的壓力測(cè)試場(chǎng)景中,有時(shí)會(huì)遇到多個(gè)場(chǎng)景混合并發(fā)的情況,這時(shí)就需要設(shè)置不同的并發(fā)比例對(duì)不同場(chǎng)景請(qǐng)求數(shù)量的控制,下面提供兩種方案。 一、多線程組方案 1.業(yè)務(wù)場(chǎng)景設(shè)計(jì)如下:場(chǎng)景A、場(chǎng)景B、場(chǎng)景C,三個(gè)場(chǎng)景按照并發(fā)比例要求進(jìn)行100個(gè)用戶并發(fā)的壓力測(cè)試 業(yè)務(wù)

    2024年02月02日
    瀏覽(23)
  • Jmeter響應(yīng)時(shí)間測(cè)試組件&多接口并發(fā)

    Jmeter響應(yīng)時(shí)間測(cè)試組件&多接口并發(fā)

    一、斷言持續(xù)時(shí)間 斷言持續(xù)時(shí)間:在限定的時(shí)間內(nèi)得到響應(yīng)數(shù)據(jù),超時(shí)同樣為失??; e.g:1.5s未獲得數(shù)據(jù),表示響應(yīng)失敗 添加控制器步驟如下: 二、參數(shù)講解 Apply to(適用于): 1、Main sample and sub-samples(主樣本和子樣本):作用于父節(jié)點(diǎn)取樣器及對(duì)應(yīng)子節(jié)點(diǎn)取樣器 2、Mai

    2024年02月01日
    瀏覽(29)
  • 使用 jmeter 進(jìn)行審批類接口并發(fā)測(cè)試

    目錄 前言: 背景: 難點(diǎn): 場(chǎng)景 a: 場(chǎng)景 b: 前言: 使用JMeter進(jìn)行審批類接口的并發(fā)測(cè)試是一種有效的方法,可以模擬多個(gè)用戶同時(shí)對(duì)接口進(jìn)行審批操作,以評(píng)估系統(tǒng)在高負(fù)載情況下的性能和穩(wěn)定性。 背景 : 頁(yè)面上單據(jù)審核操作,單據(jù)并發(fā)操

    2024年02月16日
    瀏覽(20)
  • 并發(fā)請(qǐng)求測(cè)試工具篇(二) - JMeter

    并發(fā)請(qǐng)求測(cè)試工具篇(二) - JMeter

    JMeter 是什么 JMeter 是一個(gè)開源的 Java 應(yīng)用程序,用于性能測(cè)試和負(fù)載測(cè)試。它可以模擬多種負(fù)載類型,包括靜態(tài)和動(dòng)態(tài)資源請(qǐng)求,以及各種協(xié)議,如 HTTP、HTTPS、FTP、JMS 等。JMeter 還提供了可視化的測(cè)試結(jié)果報(bào)告,以便用戶可以輕松地分析測(cè)試結(jié)果。 下載并安裝 JMeter 安裝 JM

    2024年02月05日
    瀏覽(27)
  • Jmeter的安裝與快速使用(做并發(fā)測(cè)試)

    Jmeter的安裝與快速使用(做并發(fā)測(cè)試)

    JMeter是一款開源的性能測(cè)試工具,它主要用于模擬多種負(fù)載條件下的應(yīng)用程序或服務(wù)器的性能和功能。JMeter可以發(fā)送不同類型的請(qǐng)求,如HTTP、HTTPS、FTP、SOAP、REST等,并且可以模擬多種負(fù)載類型,例如并發(fā)用戶、線程組、定時(shí)器等。 JMeter具有以下主要特點(diǎn): 可以對(duì)各種應(yīng)用程

    2024年02月03日
    瀏覽(18)
  • spring boot中使用雪花算法生成雪花ID

    目錄 1、什么是雪花算法 2、雪花算法的優(yōu)缺點(diǎn) 3、spring boot項(xiàng)目中使用雪花算法使用 雪花算法(Snowflake)是一種生成全局唯一ID的算法,由Twitter公司開發(fā)。它可以在分布式系統(tǒng)中生成全局唯一的ID,解決分布式系統(tǒng)中的數(shù)據(jù)合并和分片等問(wèn)題。 雪花算法生成的ID是一個(gè)64位的長(zhǎng)

    2024年02月02日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包