当前位置: 首页 > news >正文

JMeter压测文件上传接口和中文乱码

一、压测文件上传接口

新建测试计划,然后添加需要的元件。

在这里插入图片描述

1、添加HTTP信息头管理器

可以在测试计划中添加,也可以在线程组里面添加。

在这里插入图片描述

我的接口使用到 token信息。这里在测试计划中添加。

在这里插入图片描述

2、添加线程组

在这里插入图片描述

上图解释:会在 2秒钟之内启动起来 5个线程,并且让这 5个线程,每个线程都循环调用接口1次。

3、添加HTTP请求

在这里插入图片描述
设置接口参数,需要注意:

  1. 不要在请求头加Content-Type:multipart/form-data,只需勾选-对post使用multipart/form-data即可。
  2. 文件上传参数:
    • 文件名称:默认会查找测试计划所在的路径下的文件,我们可以使用绝对路径指定需要上传的文件。
    • 参数名称:接口接受文件的参数名,一般都是file。
    • MIME类型:使用application/octet-stream是可以的,最好与上传文档类型一一对应。
  3. 参数:接口需要的其他参数。

MIME 参考手册:https://www.w3school.com.cn/media/media_mimeref.asp

4、查看结果树

结果树当中会把对应的一个http接口返回的response都打印出来,可以选仅显示错误日志,仅显示成功日志。

在这里插入图片描述

结果树说明:

  • 取样器结果:返回值报200,表示执行接口调试成功
  • 请求:发送的数据
  • 响应数据:返回的数据

其中取样器结果说明:

  • Thread Name:线程组名称
  • Sample Start: 启动开始时间
  • Load time:加载时长
  • Latency:等待时长
  • Size in bytes:发送的数据总大小
  • Headers size in bytes:发送数据的其余部分大小
  • Sample Count:发送统计
  • Error Count:交互错误统计
  • Response code:返回码
  • Response message:返回信息
  • Response headers:返回的头部信息

5、聚合报告

聚合报告即压测过程结束时对每次请求及对整体请求的一次总结报告。

在这里插入图片描述

聚合报告说明:

  • Label:HTTP Request name属性值。
  • Samples:测试的过程中一共发出了多少个请求即总线程数,(如果模拟10个用户,每个用户迭代10次,这里就显示100),对应图形报表中的样本数目。
  • Average:单个Request的平均响应时间,计算方法是总运行时间除以发送到服务器的总请求数,对应图形报表中的平均值。
  • Median:50%用户的响应时间。
  • 90%Line:90%用户的响应时间。
  • Min:服务器响应的最短时间。
  • Max:服务器响应的最长时间。
  • Error%:本次测试中出错率,请求的数量/请求的总数。
  • Throughput:吞吐量,默认情况下表示每秒完成的请求数。
  • KB/Sec:每秒从服务器接收到的数据量,即每秒钟请求的字节数,时间单位均为ms。

6、图形结果

图形结果:压测时的整体参数可视化。

在这里插入图片描述

图形结果说明:

  • 样本数目:总共发送到服务器的请求数。
  • 最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
  • 吞吐量:服务器每分钟处理的请求数。
  • 平均值:总运行时间除以发送到服务器的请求数。
  • 中间值:有一半的服务器响应时间低于改值而另一半高于该值。
  • 偏离:表示服务器响应时间变化、离散程度测量值的大小。

二、Jmeter中文乱码问题

使用 Jmeter都会有遇见中文乱码的问题,主要有请求体中文乱码、响应报文的中文乱码以及文件上传的中文乱码。 原因是:Jmeter源码里默认的编码是ISO-8859-1。

1、解决请求参数中文乱码

在HTTP请求控件指向UTF-8,可解决请求中文乱码。

在这里插入图片描述

2、解决结果集响应数据中文乱码

在jmeter/bin路径下的 jmeter.properties,第1098行,将默认的 sampleresult.default.encoding=ISO-8859-1改为UTF-8,最后重启JMeter工具。即可解决返回结果的中文乱码。

sampleresult.default.encoding=UTF-8

在这里插入图片描述

在这里插入图片描述

3、上传文件中文乱码

大家尽量使用英文文件名测试。本人没有尝试解决上传文件中文乱码,可参考下面文章。

参考文章:

  • jmeter上传中文文件夹后页面显示乱码的解决方法:https://blog.csdn.net/qq_36800800/article/details/109284004

– 求知若饥,虚心若愚。

相关文章:

JMeter压测文件上传接口和中文乱码

一、压测文件上传接口 新建测试计划,然后添加需要的元件。 1、添加HTTP信息头管理器 可以在测试计划中添加,也可以在线程组里面添加。 我的接口使用到 token信息。这里在测试计划中添加。 2、添加线程组 上图解释:会在 2秒钟之内启动起来 5…...

CSRF漏洞复现

目录标题原理如何实现和xss区别危害CSRF实战(pikachu)dvwa靶场CSRF(Cross Site Request Forgery)。跨站请求伪造原理 攻击者会伪造一个请求(一般是一个链接),然后让用户去点击,然后…...

Google Colab导入GitHub python项目进行运行

本文介绍包含 ipynb后缀文件的github项目,导入到GitHub上进行运行的方法。 导入项目 Colab是需要梯子的。 访问网址:https://colab.research.google.com 输入github网之后回车,下面的内容是从github上自动获取的。 选择项目要打开的ipynb文…...

Qss样式表语法

QSS样式表语法 更多精彩内容👉个人内容分类汇总 👈👉QSS样式学习 👈文章目录QSS样式表语法[toc]概述一、样式规则二、选择器类型三、子控件四、伪状态五、样式表冲突解决六、级联七、继承八、命名空间中的控件概述 Qt样式表的概念…...

「Python 基础」异步 I/O 编程

I/O 密集型应用程序大大提升系统多任务处理能力; 异步 I/O 模型 一个消息循环,主线程在消息循环中不断重复 读取消息-处理消息; # 获取线程池 loop get_event_loop() while True:# 接收事件消息event loop.get_event()# 处理事件消息pro…...

通配符的匹配很全面, 但无法找到元素 ‘tx:advice‘ 的声明

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 通配符的匹配很全面, 但无法找到元素 ‘tx:advice’ 的声明 错误原因&#xff1a; xmlns和xsi:schemaLocation未书写约束或者书写错误 正确书写 <beans xmlns:tx&q…...

响应式编程详解,带你熟悉Reactor响应式编程

文章目录一、什么是响应式编程1、Java的流和响应式流2、Java中响应式的使用3、Reactor中响应式流的基本接口4、Reactor中响应式接口的基本使用二、初始Reactor1、Flux和Mono的基本介绍2、引入Reactor依赖3、响应式类型的创建4、响应式类型的组合&#xff08;1&#xff09;使用m…...

踩坑篇之WebSocket实现类中无法使用@Autowired注入对象

大家好&#xff0c;我是小简&#xff0c;今天我又大意了&#xff0c;在WebSocket这个类上踩坑了。 接下来我讲讲我踩坑的经历吧&#xff01; package cn.donglifeng.shop.socket.endpoin;import cn.donglifeng.shop.common.context.SpringBeanContext; import cn.donglifeng.s…...

QT CTK插件框架 (一 下载编译)

CTK 为支持生物医学图像计算的公共开发包&#xff0c;其全称为 Common Toolkit。为医学成像提供一组统一的基本功能&#xff1b;促进代码和数据的交互及结合&#xff1b;避免重复开发&#xff1b;在工具包&#xff08;医学成像&#xff09;范围内不断扩展到新任务&#xff0c;而…...

【Java版oj】day10 井字棋、密码强度等级

目录 一、井字棋 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、密码强度等级 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 一、井字棋 &a…...

JavaScript的事件传播机制

你在学习和编写JavaScript时可能听说过事件冒泡&#xff08;event bubbling&#xff09;。它会发生在多个元素存在嵌套关系&#xff0c;并且这些元素都注册了同一事件(例如click)的监听器时。 但是事件冒泡只是事件机制的一部分。它经常与事件捕获(event capturing)和事件传播…...

队列的定义及基本操作实现(链式)

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️数据结构与算法】 学习名言&#xff1a;天子重英豪&#xff0c;文章教儿曹。万般皆下品&#xff0c;惟有读书高 系列文章目录 第一章 ❤️ 学前知识 第二章 ❤️ 单向链表 第三章 ❤️ 递归 文章目录…...

集成方法!

目录 关注降低variance,选择bias较小的基学习器 Bagging Stacking Random Forest 关注降低bias,选择variance较小的基学习器 Adaboost Boosting 关注降低variance,选择bias较小的基学习器 Bagging 给定m个样本的数据集&#xff0c;利用有放回的随机采样法&#xff0c;得…...

20年程序员生涯,读了200多本技术书,挑了几本精华好书分享给大家

不知不觉已经又走过了20个年头了&#xff0c;今年已经44了&#xff0c;虽然我已经退休在家&#xff0c;但一直都保持着读书的习惯&#xff0c;我每年平均要读10本技术书籍&#xff0c;保持不让自己的技术落伍。 这些年读的技术书不下200本&#xff0c;很多好书我都会保存在家&a…...

C++ 手写一个WebServer

文章目录 前言一、WebServer的原理刨析二、HTTP协议基础三、C++代码实战四、运行测试前言 本文由:我不会画饼呀 提供建议 大家如果有什么想看的文章(想了解的知识点),都可以在本专栏文章底部评论,或者私信我,在有能力的前提下,我都会尽量给大家写出来,供大家学习参考 …...

Elasticsearch 简介与安装

简介 Elasticsearch 是一个开源的搜索引擎&#xff0c;建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—​无论是开源还是私有。 但是 Lucene 仅仅只是一个库。为了充分发挥其功能&#xff0c;你需要使用 Java…...

Qt5.12实战之QByteArray与字符指针及字符串转换

示例源码:#include <QCoreApplication> #include <QDebug> #include <QTextStream> static QTextStream cout (stdout,QIODevice::WriteOnly); #include <iostream> #include <QtGlobal> #include <QByteArray>void test() {qDebug() <…...

二、ElasticSearch基础语法

目录一、简单了解ik分词器(分词效果)1.standard(单字分词器&#xff0c;es默认分词器)2.ik_smart分词(粗粒度的拆分)3.ik_max_word分词器&#xff08;最细粒度拆分&#xff09;二、指定默认分词器1.为索引指定默认分词器三、ES操作数据1.概述2.创建索引3.查询索引4.删除索引5.添…...

Yolov8详解与实战

文章目录摘要模型详解C2F模块Losshead部分模型实战训练COCO数据集下载数据集COCO转yolo格式数据集&#xff08;适用V4&#xff0c;V5&#xff0c;V6&#xff0c;V7&#xff0c;V8&#xff09;配置yolov8环境训练测试训练自定义数据集Labelme数据集摘要 YOLOv8 是 ultralytics …...

多线程案例——阻塞队列

目录 一、阻塞队列 1. 生产者消费者模型 &#xff08;1&#xff09;解耦合 &#xff08;2&#xff09;“削峰填谷” 2. 标准库中的阻塞队列 3. 自己实现一个阻塞队列&#xff08;代码&#xff09; 4. 自己实现生产者消费者模型&#xff08;代码&#xff09; 一、阻塞队列…...

BlueDot BME280库深度解析:嵌入式多传感器驱动实践

1. BlueDot BME280 库技术解析&#xff1a;面向嵌入式工程师的多传感器驱动实践指南BME280 是博世&#xff08;Bosch&#xff09;推出的高精度环境传感器&#xff0c;集成温度、相对湿度与气压三参数测量能力&#xff0c;广泛应用于气象站、IoT终端、无人机姿态补偿及室内环境监…...

企业级AD域控+FreeRADIUS认证实战:从零配置PAP/MSCHAPv2完整流程

企业级AD域控与FreeRADIUS深度集成&#xff1a;PAP与MSCHAPv2认证全流程解析 在企业混合IT环境中&#xff0c;如何实现Windows Active Directory&#xff08;AD&#xff09;域账户与Linux系统的无缝认证一直是运维团队的痛点。本文将手把手带你完成AD域控与FreeRADIUS的深度集成…...

【Linux】新手必看:高频指令实战演练Part One

1. Linux命令行初体验&#xff1a;从零到上手 第一次打开Linux终端时&#xff0c;那种黑底白字的界面确实容易让人发懵。记得我刚开始接触时&#xff0c;连最基本的"怎么退出当前命令"都要百度半天。但别担心&#xff0c;命令行其实就像学骑自行车 - 刚开始摇摇晃晃&…...

SlopeCraft:Minecraft地图艺术创作的高效解决方案

SlopeCraft&#xff1a;Minecraft地图艺术创作的高效解决方案 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 在Minecraft的方块世界中&#xff0c;将现实中的图像转化为立体地图艺术一直…...

终极视频修复指南:如何使用untrunc拯救损坏的MP4文件

终极视频修复指南&#xff1a;如何使用untrunc拯救损坏的MP4文件 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经遇到过珍贵的视频文件突然无法播放&…...

前后端框架模式对比(golang)

前后端架构模式对比&#xff1a;分离与不分离 现代Web开发中&#xff0c;前后端架构的选择直接影响开发效率、维护成本和系统性能。结合Golang的实现&#xff0c;可以更清晰地分析前后端分离&#xff08;如REST API 前端框架&#xff09;与不分离&#xff08;如服务端渲染&…...

如何高效获取六大网盘直链下载地址:开源工具的实用指南

如何高效获取六大网盘直链下载地址&#xff1a;开源工具的实用指南 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 在当今数字时代&#xff0c;网盘已成为我们日常工作和学习中不可或缺的工具…...

每日算法练习:LeetCode 151. 反转字符串中的单词 ✅

大家好&#xff0c;我是你们的算法小伙伴。今天我们来练习一道字符串处理的经典中等题 ——LeetCode 151. 反转字符串中的单词。这道题考察对空格和单词边界的处理&#xff0c;是面试中高频的字符串操作题。题目描述给你一个字符串 s&#xff0c;请你反转字符串中单词的顺序。单…...

告别Visio!用Text Flow三分钟搞定纯文本流程图(附实战案例)

用纯文本革命&#xff1a;Text Flow如何三分钟重塑技术文档流程图 在代码注释里直接插入流程图&#xff0c;在Markdown文件中无缝嵌入架构图&#xff0c;无需切换工具就能完成专业图表——这曾是许多开发者的奢望。传统流程图工具如Visio、Draw.io虽然功能强大&#xff0c;但存…...

RexUniNLU新手入门指南:3步搞定智能家居、金融、医疗场景意图识别

RexUniNLU新手入门指南&#xff1a;3步搞定智能家居、金融、医疗场景意图识别 1. 认识RexUniNLU&#xff1a;零样本意图识别利器 RexUniNLU是一款基于Siamese-UIE架构的轻量级自然语言理解框架&#xff0c;它能让你无需准备标注数据&#xff0c;仅通过简单的标签定义就能完成…...