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

grafana K6压测

文章目录

    • install and run
    • script.js
      • options
        • 最佳实践
    • report 解析

https://grafana.com/docs/k6/latest/get-started

install and run

  1. install
# mac
brew install k6
  1. 当前目录下生成压测脚本
# create file script.js
k6 new [filename]     # create file ‘script.js’ in the current directory

3 run

k6 run script.js
  1. reports
    默认情况下,k6 将总结结果打印到 stdout 。

script.js

import http from 'k6/http';
import { check, sleep } from 'k6';export const options = {vus: 10,duration: '30s',
};export default function () {const res = http.get('http://test.k6.io');check(res, { 'status was 200': (r) => r.status == 200 });sleep(1);
}

options

https://grafana.com/docs/k6/latest/using-k6/k6-options/reference/

  • vus
    虚拟用户数
  • duration
    持续时间
  • rps
    每秒请求数量

请求总数 = vus * rps * durance(s)

import http from 'k6/http';
import { check, sleep } from 'k6';export const options = {maxRedirects: 4,duration: '300s',vus: 10,rps: 300
};// stages : 逐步提升/降低 
export const options = {stages: [{ target: 200, duration: '30s' },{ target: 0, duration: '30s' },],
};export const options = {stages: [{ duration: '10s', target: 100 },{ duration: '5m', target: 100 },{ duration: '10s', target: 0 },],rps: 100,
};
最佳实践

VUs太大的情况下, 直接启动所有 VUs 会几乎同时发起请求,导致请求的瞬间激增。这样的突发性负载可能会导致系统未能及时响应,进而出现错误。
改为 分阶段增加 VUs , 系统逐步适应增加的负载

report 解析

默认report

         /\      Grafana   /‾‾/  /\  /  \     |\  __   /  /   /  \/    \    | |/ /  /   ‾‾\ /          \   |   (  |  ()  |/ __________ \  |_|\_\  \_____/ execution: localscript: script.jsoutput: -scenarios: (100.00%) 1 scenario, 2000 max VUs, 1m15s max duration (incl. graceful stop):* default: Up to 2000 looping VUs for 45s over 6 stages (gracefulRampDown: 30s, gracefulStop: 30s)✓ status is 200checks.........................: 100.00% 191878 out of 191878data_received..................: 160 MB  3.5 MB/sdata_sent......................: 20 MB   443 kB/shttp_req_blocked...............: avg=5.84µs   min=0s    med=1µs      max=9.49ms  p(90)=4µs      p(95)=7µs     http_req_connecting............: avg=2.71µs   min=0s    med=0s       max=9.43ms  p(90)=0s       p(95)=0s      http_req_duration..............: avg=246.16ms min=383µs med=103.16ms max=6.91s   p(90)=617.17ms p(95)=979.14ms{ expected_response:true }...: avg=246.16ms min=383µs med=103.16ms max=6.91s   p(90)=617.17ms p(95)=979.14mshttp_req_failed................: 0.00%   0 out of 191878http_req_receiving.............: avg=40.53µs  min=5µs   med=18µs     max=65.69ms p(90)=74µs     p(95)=102.14µshttp_req_sending...............: avg=10.06µs  min=1µs   med=3µs      max=53.75ms p(90)=15µs     p(95)=23µs    http_req_tls_handshaking.......: avg=0s       min=0s    med=0s       max=0s      p(90)=0s       p(95)=0s      http_req_waiting...............: avg=246.11ms min=373µs med=103.09ms max=6.91s   p(90)=617.11ms p(95)=979.11mshttp_reqs......................: 191878  4263.707029/siteration_duration.............: avg=246.24ms min=406µs med=103.26ms max=6.91s   p(90)=617.2ms  p(95)=979.24msiterations.....................: 191878  4263.707029/svus............................: 7       min=7                max=1990vus_max........................: 2000    min=2000             max=2000running (0m45.0s), 0000/2000 VUs, 191878 complete and 0 interrupted iterations
default ✓ [======================================] 0000/2000 VUs  45s

总请求量 191878, 持续时间 45.0s
p(95)=979.14ms : 95% 的请求响应时间在 979.14ms 以内

相关文章:

grafana K6压测

文章目录 install and runscript.jsoptions最佳实践 report 解析 https://grafana.com/docs/k6/latest/get-started install and run install # mac brew install k6当前目录下生成压测脚本 # create file script.js k6 new [filename] # create file ‘script.js’ in …...

Vue的组合式API和选项式API有什么区别

Vue3的组合式API(Composition API)和选项式API(Options API)是两种不同的组件编写方式,主要区别如下: 1. 代码组织方式 选项式API: 按照选项(如data、methods、computed等&#xff0…...

ubuntu 安全策略(等保)

windows 三个帐号屏保设置组策略,密码超时次数/审计记录; linux 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。 1、在系统中新建测试用户,使用此用户登录时多次输入错误密码&…...

c/c++蓝桥杯经典编程题100道(22)最短路径问题

最短路径问题 ->返回c/c蓝桥杯经典编程题100道-目录 目录 最短路径问题 一、题型解释 二、例题问题描述 三、C语言实现 解法1:Dijkstra算法(正权图,难度★★) 解法2:Bellman-Ford算法(含负权边&a…...

AI工具集合

设计相关 1. mastrtgo(暂时免费) :可以根据自然语言生成UI设计稿和前端代码 MasterGo 莫高设计 - AI 时代的数字界面生产平台 2. reddy.ai(暂时免费): 国外类似mastrtgo的平台 Readdy 3. midjourney (…...

CSDN 博客:CC++ 内存管理详解

CSDN 博客:C/C 内存管理详解 在软件开发过程中,内存管理是一个非常重要的环节。对于 C 和 C 这两种编程语言,它们都拥有独特的内存管理机制,理解这些机制对于编写高效、健壮的程序至关重要。本文将详细讲解 C/C 内存管理相关的内…...

表单制作代码,登录动画背景前端模板

炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。一个炫酷的按钮特效不仅能提升用户体验,还能为网页增添独特的视觉吸引力。今天,我们将通过CSS来实现一个“表单制作代码,登录动画背景前端模板”。该素材呈现了数据符号排版显示出人形的动画效果,新颖有…...

嵌入式项目:STM32刷卡指纹智能门禁系统

本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助,请点链接: https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端(下位机)…...

LeetCode 热题100 141. 环形链表

LeetCode 热题100 | 141. 环形链表 大家好,今天我们来解决一道经典的算法题——环形链表。这道题在 LeetCode 上被标记为简单难度,要求我们判断一个链表中是否存在环。下面我将详细讲解解题思路,并附上 Python 代码实现。 题目描述 给定一个…...

以绘图(绘制点、直线、圆、椭圆、多段线)为例子 通过设计模式中的命令模式实现

为了在命令模式的基础上实现撤销(Undo)和回退(Redo)功能,我们可以在每个命令类中记录一些必要的状态,允许我们撤销之前的操作,并在需要时回退操作。常见的做法是使用一个命令堆栈来存储历史命令…...

鹏哥c语言数组(初阶数组)

前言: 对应c语言视频54集 内容: 一维数组的创建 数组是一组相同元素的集合, 数组的创建方式 type_t就是数组的元素类型,const_n是一个常量表达式,用来指定数组的大小 c99标准之前的,数组的大小必须是…...

利用go-migrate实现MySQL和ClickHouse的数据库迁移

1. 背景 在使用gorm时 , 尽管已经有了自动建表和钩子函数 . 但是在面临希望了解到数据库的变更 , 和插入一些系统字段时 , 以及最关键的数据库迁移的工作 . gorm显得稍微有点不便 . 在了解到migrate这项技术后 , 就使用go-migrate开发了一个可以迁移MySQL和ClickHouse数据库的…...

计算机毕业设计SpringBoot+Vue.js企业客户管理系统(源码+LW文档+PPT+讲解+开题报告)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

jmeter 如何做移动端的测试 特别是兼容性测试

JMeter本身主要是一款用于性能测试和功能测试的工具,虽然它并非专门为移动端测试设计,但可以通过一些方式来对移动端应用进行测试,以下从测试准备、测试过程及注意事项等方面为你详细介绍: 一、测试准备 (一)环境搭建 JMeter安装与配置:确保JMeter已经正确安装在测试机…...

深度学习技术全景图:从基础架构到工业落地的超级进化指南

🔍 目录导航 基础架构革命训练优化秘技未来战场前瞻 🧩 一、基础架构革命 1.1 前馈神经网络(FNN) ▍核心结构 import torch.nn as nnclass FNN(nn.Module):def __init__(self):super().__init__()self.fc1 nn.Linear(784, 25…...

vllm部署LLM(qwen2.5,llama,deepseek)

目录 环境 qwen2.5-1.5b-instruct 模型下载 vllm 安装 验证安装 vllm 启动 查看当前模型列表 OpenAI Completions API(文本生成) OpenAI Chat Completions API(chat 对话) vllm 进程查看,kill llama3 deep…...

基于SpringBoot的“古城景区管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“古城景区管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 系统首页界面 系统注册界面 景…...

如何防止 Docker 注入了恶意脚本

根据您的描述,攻击者通过 CentOS 7 系统中的 Docker 注入了恶意脚本,导致自动启动名为 “masscan” 和 “x86botnigletjsw” 的进程。这些进程可能用于网络扫描或其他恶意活动。为了解决这一问题,建议您采取以下步骤: 1. 停止并删…...

使用python接入腾讯云DeepSeek

本文主要从提供SSE方式接入DeepSeek,并通过fastapi websocket对外提供接入方法。 参考文档: 腾讯云大模型:https://cloud.tencent.com/document/product/1759/109380 fastAPI官网:https://fastapi.tiangolo.com/ WebSocketManager…...

【MySQL】服务正在启动或停止中,请稍候片刻后再试一次【解决方案】

问题呈现 在使用MySQL的过程中我们可能会遇到以上的情况 解决方法 首先以管理员身份打开命令行窗口,注意是管理员身份,不然无权限访问。输入命令tasklist| findstr "mysql",用于查找mysql的残留进程。这个时候我们就会看到一个…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

GAN模式奔溃的探讨论文综述(一)

简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...