用代码模拟调用接口方式压测现网服务器的服务性能

简介: 用代码模拟调用接口方式压测现网服务器的服务性能

本文为博主原创,转载请注明出处:

  最近为统计现网生产环境的服务处理的性能,需要压测现网服务器,由于现网服务器所处的网络不在同一个局域网内,压测不了,所以想到了使用代码的方式,压测服务器的性能,使用的思路就是将模拟压测的线程数,既但线程持续请求的次数以请求参数的方式传入到指定的controller 中,然后再对应的方法中创建线程池,不断的执行任务,同时每隔指定的时间,通过打印日志的方式,观察服务处理的次数。

  提供示例思路代码如下:

  1.创建线程类,并执行指定的任务

import java.util.concurrent.atomic.AtomicInteger;
public class ThreadEntity implements Runnable{
    public static AtomicInteger count = new AtomicInteger(0);
    // 每个线程执行的任务数
    private int eachThreadTaskCount;
    public ThreadEntity(){}
    public ThreadEntity(int eachThreadTaskCount){
        this.eachThreadTaskCount = eachThreadTaskCount;
    }
    @Override
    public void run() {
        for (int i=0;i<eachThreadTaskCount;i++){
            count.incrementAndGet();
            System.out.println("执行加一" + count.get());
            // do yourself to mock test
        }
    }
}


  2. 模拟批量压测:


import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MockThreadTest {
    public static void main(String[] args) {
        test(10);
    }
    public static void test(int threadNum) {
        ExecutorService executorService = Executors.newFixedThreadPool(threadNum);
        for (int i = 0; i < threadNum; i++) {
            executorService.execute(new ThreadEntity(100));
        }
        long startTimestamp = System.currentTimeMillis();
        boolean isEnding = true;
        while (isEnding) {
            if (ThreadEntity.count.get() == 1000) {
                isEnding = false;
            }
            // 统计计算的次数和时间
            System.out.println("请求次数为" + ThreadEntity.count.get());
            System.out.println("请求的总时间为" + (System.currentTimeMillis() - startTimestamp));
            try {
                Thread.sleep(50);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        executorService.shutdown();
    }
}

 

标签: 高并发

目录
相关文章
|
1月前
|
存储 人工智能 缓存
阿里云服务器五代至九代实例规格详解及性能提升对比,场景适配与选择指南参考
目前阿里云服务器的实例规格经过多次升级之后,最新一代已经升级到第九代实例,当下主售的云服务器实例规格也以八代和九代云服务器为主,对于初次接触阿里云服务器实例规格的用户来说,可能并不是很清楚阿里云服务器五代、六代、七代、八代、九代实例有哪些,他们之间有何区别,下面小编为大家介绍下阿里云五代到九代云服务器实例规格分别有哪些以及每一代云服务器在性能方面具体有哪些提升,以供大家参考和了解。
213 15
|
2月前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
297 4
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
|
1月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
178 5
|
2月前
|
存储 弹性计算 应用服务中间件
阿里云轻量应用服务器与云服务器ECS有何区别?轻量应用服务器性能、优势与收费价格参考
2025年,阿里云轻量应用服务器2核2G3M带宽搭配40GB ESSD云盘的配置,每天10点和15点开启的抢购价只要38元1年,新用户非抢购专属优惠价也只要68元1年。对于一些初次接触阿里云轻量应用服务器的用户来说,可能不是很清楚它与云服务器ECS有什么不同?选择轻量应用服务器有哪些优势,本文为大家介绍轻量应用服务器的性能、适用场景、优势、收费标准以及与云服务器ECS之间的区别,以供参考。
|
2月前
|
存储 弹性计算 固态存储
阿里云服务器云盘解析:ESSD AutoPL、ESSD云盘、PL-X等云盘性能与选购参考
对于初次接触阿里云服务器的用户来说,面对众多可选的云盘类型,如ESSD AutoPL、高效云盘、ESSD云盘、SSD云盘等,可能不是很清楚他们之间的区别以及如何选择。这些云盘在最大IOPS、最大吞吐量等性能指标上各有千秋,如何根据自身需求选择适合自己的云盘类型,是用户比较关心的问题。本文将为大家介绍这些云盘的区别,助您轻松找到最适合自己的阿里云云盘。

热门文章

最新文章

下一篇
oss云网关配置