服务器流量收发测试

news2024/9/20 22:49:05

文章目录

  • 一、概述
  • 二、实现方式一:编码
    • 1. 主要流程
    • 2. 核心代码
    • 3. 布署
  • 三、实现方式二:脚本
    • 1.脚本编写
    • 2. 新增crontab任务
  • 四、查看结果

一、概述

我们在安装vnStat、wondershaper便想通过实际的数据收发来进行测试。

二、实现方式一:编码

1. 主要流程

新建springboot工程
启用定时任务
定时发送请求

2. 核心代码

ScheduleJob.java

import java.util.Arrays;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;

import lombok.extern.slf4j.Slf4j;

/**
 * 
 * ScheduleJob
 * 
 * @author 00fly
 * @version [版本号, 2022年11月30日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Slf4j
@Component
public class ScheduleJob
{
    @Autowired
    RestTemplate restTemplate;
    
    /**
     * 向本机外网发送数据,验证是否流量收发
     */
    @Scheduled(fixedDelay = 60000L)
    public void run()
    {
        try
        {
            log.info("run...");
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.MULTIPART_FORM_DATA);
            headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
            MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
            Resource resource = new ClassPathResource("data/nginx-1.25.3.tar.gz");
            params.add("file", resource);
            params.add("id", "1");
            HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
            String uploadUrl = "http://124.71.129.204:8083/post";
            restTemplate.postForEntity(uploadUrl, requestEntity, String.class);
        }
        catch (Exception e)
        {
            log.error(e.getMessage(), e);
        }
    }
}

完整代码放送

3. 布署

项目目录打包

mvn clean package

运行,将target目录springboot-http.jar文件,拷贝到124.71.129.204服务器,运行

java -jar springboot-http.jar&logout

三、实现方式二:脚本

1.脚本编写

需要提前准备好文件/work/jar-run/nginx-1.25.3.tar.gz
新增/work/jar-run/send.sh

#!/bin/bash
curl http://124.71.129.204:8083/post -F "file=@/work/jar-run/nginx-1.25.3.tar.gz"

2. 新增crontab任务

#查看
crontab -l

#编辑
crontab -e

#新增如下内容,意思是每分钟执行一次脚本
*/1  * * * * sh /work/jar-run/send.sh >> /work/jar-run/send.log 2>&1

四、查看结果

点击查看
在这里插入图片描述

有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!

-over-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1840126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ Windows Hook使用

GitHub - microsoft/Detours: Detours is a software package for monitoring and instrumenting API calls on Windows. It is distributed in source code form. /*挂载钩子 setdll /d:C:\Users\g\source\repos\LotTest\Release\lotDll.dll C:\Users\g\source\repos\LotTest…

【SpringBoot】RSA加密(非对称加密)

一、关于RSA RSA是一种非对称加密算法&#xff0c;广泛应用于数据加密和数字签名领域。 RSA算法是由罗纳德李维斯特&#xff08;Ron Rivest&#xff09;、阿迪萨莫尔&#xff08;Adi Shamir&#xff09;和伦纳德阿德曼&#xff08;Leonard Adleman&#xff09;在1977年提出的。…

JavaScript事件传播实战

上篇文章我们学习了事件传播的冒泡和捕获两种类型&#xff0c;现在我们在实际项目中演示一下&#xff1b; ● 首先我们先定义一个随机数 const randomInt (min, max) > Math.floor(Math.random() * (max - min 1) min);● 接着&#xff0c;我们使用随机数来创建随机的r…

osi七层参考模型和tcp/ip模型的区别与相似之处

osi七层参考模型&#xff1a; 2.tcp/ip四层参考模型&#xff1a; osi七层参考模型与tcp/ip四层参考模型的相似与区别&#xff1a; 相同点&#xff1a; 2者都是模型化层次化 下层对上层提供服务支持 每层协议彼此相互独立 不同点&#xff1a;OSI先有模型才有协议 TCP/IP先有…

目标检测数据集 - 零售食品LOGO检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;零售食品 LOGO 检测数据集&#xff0c;真实零售食品 LOGO 高质量商品图片数据&#xff0c;数据集含常见零售食品 LOGO 图片&#xff0c;包括饮料类、酒类、调味品类、膨化饼干类、巧克力类、常见零食类等等。数据集类别丰富&#xff0c;标注标签包含 150…

【因果推断python】44_评估因果模型2

目录 累积弹性曲线 累积增益曲线 考虑差异 关键思想 累积弹性曲线 再次考虑将价格转换为二元处理的说明性示例。我们会从我们离开的地方拿走它&#xff0c;所以我们有弹性处理带。我们接下来可以做的是根据乐队的敏感程度对乐队进行排序。也就是说&#xff0c;我们把最敏感…

Python学习打卡:day10

day10 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day1073、文件的读取操作文件的操作步骤open()打开函数mode常用的三种基础访问模式读操作相关方法read()方法readlines()方法readline()方法for循…

大模型微调和RAG的应用场景

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

进入docker容器内部操作mysql数据库

文章目录 1、查询docker容器2、进入mysql容器内部3、连接mysql数据库4、查询mysql所有的数据库5、使用某个数据库6、展示数据库中所有的表7、查询某张表8、断开mysql9、退出mysql容器 1、查询docker容器 [rootlocalhost ~]# docker ps CONTAINER ID IMAGE …

聚观早报 | 苹果AI功能将分批上线;三星Galaxy Z Fold6尺寸数据

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 6月18日消息 苹果AI功能将分批上线 三星Galaxy Z Fold6尺寸数据 华为智慧PC新品AI能力升级 抖音出品《三星堆&am…

Spring MVC学习记录(基础)

目录 1.SpringMVC概述1.1 MVC介绍1.2 Spring MVC介绍1.3 Spring MVC 的核心组件1.4 SpringMVC 工作原理 2.Spring MVC入门2.1 入门案例2.2 总结 3.RequestMapping注解4.controller方法返回值4.1 返回ModelAndView4.2 返回字符串4.2.1 逻辑视图名4.2.2 Redirect重定向4.2.3 forw…

六面体大米装袋机长期稳定运行原因分析

随着现代化农业生产的发展&#xff0c;六面体大米装袋机已成为粮食加工行业不可或缺的重要设备。然而&#xff0c;如何确保这些机器长期稳定运行&#xff0c;提高生产效率&#xff0c;降低维护成本&#xff0c;一直是广大粮食加工企业关注的焦点。星派将为您揭示六面体大米装袋…

如何在前端项目中用字体图标替换图片,方便减小打包体积和统一切换颜色

1.进入阿里妈妈矢量图标图库 地址&#xff1a;阿里妈妈矢量图 2.搜索自己想要的图标 3.添加自己想要的图标 4.把刚才选的图标&#xff0c;添加到自己要下载的项目 5.把项目下载到本地 6.引入iconfont.css 在div上增加对应的类名就可以啦 下载的所有类名都在下面的demo_index…

测速小车模块

1.用途&#xff1a;广泛用于电机转速检测&#xff0c;脉冲计数,位置限位等。 2.有遮挡&#xff0c;输出高电平&#xff1b;无遮挡&#xff0c;输出低电平 接线 VCC 接电源正极3.3-5V GND 接电源负极 DO TTL开关信号输出 AO 此模块不起作用 测试原理和单位换算&#xff1a;…

如何定制Spring的错误json信息

一&#xff0c;前言 相信很多同学都有遇到过这样的spring错误信息。 在我们没有做catch处理时或者做全局的exceptionHandle时&#xff0c;Spring遇到抛出向外的异常时&#xff0c;就会给我们封装返回这么个格式的异常信息。 那么问题来了&#xff0c;我们能否对这个返回增加错…

[Linux] vi编辑器

命令模式&文本模式 命令模式就输入命令然后执行&#xff0c;文本模式就是系统把你的输入都当成写进文件里的字符 切换模式&#xff1a; 刚进入默认是命令模式&#xff0c;按: i I a A o O 进入文本模式&#xff0c; 通过他们进入文本模式有什么不同&#xff1f; 然后按esc进…

PLC模拟量和数字量到底有什么区别?

PLC模拟量和数字量的区别 在工业自动化领域&#xff0c;可编程逻辑控制器&#xff08;PLC&#xff09;是控制各种机械设备和生产过程的核心组件。PLC通过处理模拟量和数字量来实现对工业过程的精确控制。了解模拟量和数字量的区别对于设计高效、可靠的自动化系统至关重要。 1. …

vue3+ts 使用vue3-ace-editor实现Json编辑器

1、效果图 输入代码&#xff0c;点击格式化就出现以上效果&#xff0c;再点击压缩&#xff0c;是以下效果2、安装 npm i vue3-ace-editor 3、使用 新建aceConfig.js文件 // ace配置&#xff0c;使用动态加载来避免第一次加载开销 import ace from ace-builds// 导入不同的主…

查看服务器接口各行代码耗时的 linux 命令

如何通过命令来查看接口具体位置的耗时情况 首先然后找到需要执行查看耗时的方法执行查询命令 trace 首先 使用这个命令 curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar然后找到需要执行查看耗时的方法 复制出来的 是 com.a.tms.api.service.…