服务器流量收发测试

avatar
作者
筋斗云
阅读量:0

文章目录

一、概述

我们在安装vnStatwondershaper后,便想通过实际的数据收发来进行测试。
该怎么做呢?

二、实现方式一:编码

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服务器,运行

#方式1 java -jar springboot-http.jar&exit  #方式2 java -jar springboot-http.jar& #随后输入exit或logout退出  #方式3 nohup java -jar springboot-http.jar& 

三、实现方式二:脚本

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" >> /work/jar-run/send.log 2>&1 

2. 新增crontab任务

#查看 crontab -l  #编辑 crontab -e  #新增如下内容,每分钟执行一次sh脚本 */1  * * * * sh /work/jar-run/send.sh 

四、查看结果

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

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

-over-

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!