zoukankan      html  css  js  c++  java
  • (四)Java秒杀项目之JMeter压测

    一、JMeter入门压测

    1、打开JMeter工具,选中测试计划->右键添加->线程(用户)->线程组,页面中的线程数就是并发数,页面中的Ramp-Up时间(秒)表示通过多长时间启动起来这些线程,如果值为0,表示这些线程一起启动起来。

    2、选中线程组->右键添加->配置元件->HTTP请求默认值,来配置一个默认请求。页面中的协议填http,服务器名称或IP填localhost,端口号填8080。

    3、选中线程组->右键添加->Sampler(取样器)->HTTP请求,页面中的名称填商品列表,协议、服务器名称或IP、端口号就不需要填了,因为上一步中添加了默认的。路径填/goods/to_list,这是我们之前的商品列表代码的接口。

    4、选中线程组->右键添加->监听器->聚合报告,显示压测的总结结果。选中线程组->右键添加->监听器->图形结果,显示压测的图形结果。选中线程组->右键添加->监听器->用表格查看结果,显示压测的表格形式结果。点击绿色三角启动按钮开始压测。可以选择保存,后缀默认为.jmx,也可不保存。

    5、聚合报告也页面中的Throughput表示吞吐量,可以简单的理解为QPS。

    6、终端使用top命令监控cup,Load Avg表示负载。增大线程数再运行可以看到负载增大。

    二、自定义变量模拟多用户

    1、选中商品列表->右键禁用,可以禁用该请求

    2、选中线程组->右键添加->取样器->HTTP请求,名称填获取用户信息,路径填/user/info

    3、点击下方添加按钮添加参数,键为token,值为浏览器Network中do_miaosha请求响应中Set-Cookie的token。运行测试

    4、本地新建config.txt,填入18912341234,2db1f35954a245e99bf7a3feb903e97c代表一个用户,可以添加多个,测试不同的用户。

    5、选中线程组->右键添加->配置元件->CSV数据文件设置,文件名选config.txt,变量名填userId,userToken,分隔符填英文逗号

    6、修改获取用户信息请求,参数键token的值为${userToken},运行测试。

    三、Redis压测工具redis-benchmark

    1、redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000

    其中-c 100表示100个并发连接,-n 100000表示100000个请求

    2、redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100

    其中-q表示简短地输出,-d 100表示存取大小为100字节的数据包

    3、redis-benchmark -t set,lpush -q -n 100000 

    其中-t set,lpush表示只测试set和lpush命令的性能

    4、redis-benchmark -n 100000 -q script load “redis.call(‘set’, ‘foo’, ‘bar’)”

    只测试某些数值存取的性能,其中script load “redis.call(‘set’, ‘foo’, ‘bar’)”表示只测试“redis.call(‘set’, ‘foo’, ‘bar’)”这条命令的性能,注意是英文引号

    四、Spring Boot打war包

    1、添加spring-boot-starter-tomcat的provided依赖,provided依赖就是编译时的依赖,运行时不需要。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

    2、添加maven-war-plugin依赖,默认情况下是打jar包。

    <build>
        <finalName>${project.artifactId}</finalName>    <!-- 打出来的war包的名字与artifactId相同,即mymiaosha4 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

    3、改为打war包<packaging>war</packaging>

    4、修改Mymiaosha4Application类继承SpringBootServletInitializer,并重写configure方法。

    Spring Boot打war包这一小节,github没有同步代码测试。

  • 相关阅读:
    学习asp.net完整步骤
    UltraEdit中Matlab语法高亮显示的操作方法
    C#基础完成和深入
    75道程序员面试逻辑思维题
    模拟退火算法解决函数优化问题
    模拟退火算法解决TSP问题
    C#入门
    简单感知器模型解决简单真值表问题
    jQuery 1.3.2 :visible选择器问题
    NUnit2.0详细使用方法
  • 原文地址:https://www.cnblogs.com/yanguobin/p/11942534.html
Copyright © 2011-2022 走看看