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

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

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

  最近为统计现网生产环境的服务处理的性能,需要压测现网服务器,由于现网服务器所处的网络不在同一个局域网内,压测不了,所以想到了使用代码的方式,压测服务器的性能,使用的思路就是将模拟压测的线程数,既但线程持续请求的次数以请求参数的方式传入到指定的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();
    }
}

 

标签: 高并发

相关文章
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
2236 0
|
11月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
685 5
|
缓存 安全 网络协议
如何使用Bluetown Cloud服务器及其CDN服务来掩护VPS的真实IP地址。
最终,通过Bluetown Cloud的CDN服务,你的VPS不仅仅是隐藏在一层又一层的保护之下,同时也因为CDN的全球节点而享受到加速访问的优势,无所不在又不被发现,像是一位能在互联网世界中自由穿梭的幽灵特工。
275 14
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
664 14
|
物联网
云服务器搭建rttys服务
RTTYS是一款基于Web的串口调试工具,分为服务端(rttys)和客户端(rtty)。服务端负责连接串口设备并提供接口,客户端通过浏览器访问实现远程串口调试。它具有跨平台、易部署的特点,适用于物联网、嵌入式开发等场景,极大提升调试效率。
1260 1
|
存储 人工智能 安全
做网站如何选择云服务器?(二)服务篇
在现代互联网时代,云服务器成为企业与个人满足业务需求的首选。选择云服务商时需关注多个方面:稳定性与数据保护(如99.95%高可用性、99.999%数据可靠性)、安全防护体系(DDoS防护、入侵检测等)、弹性扩展功能、技术支持体系(24/7支持)、高性价比与灵活付费模式、快速供应与部署能力、多区域覆盖与线路选择、不限流量与IP更换、垂直场景方案(如游戏云、AI训练)及用户评价与案例分析。特别关注不同行业需求,如初创团队的成本控制、大型企业的合规性审查、金融医疗的安全合规等。综合考虑这些因素,才能确保网站高效运行和持续发展。
464 1
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
780 7
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
2297 10
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1731 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
855 59