轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
infinilabs/loadgen
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

loadgen Docker 镜像下载 - 轩辕镜像

loadgen 镜像详细信息和使用指南

loadgen 镜像标签列表和版本信息

loadgen 镜像拉取命令和加速下载

loadgen 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

loadgen
infinilabs/loadgen

loadgen 镜像详细信息

loadgen 镜像标签列表

loadgen 镜像使用说明

loadgen 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于Elasticsearch或通用HTTP服务器的轻量级负载生成器,支持高并发、模板化参数随机选择和流量控制,适用于性能基准测试。
0 次下载activeinfinilabs镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

loadgen 镜像详细说明

loadgen 使用指南

loadgen 配置说明

loadgen 官方文档

Loadgen:轻量级负载生成器

镜像概述和主要用途

Loadgen是一款专为Elasticsearch或通用HTTP服务器设计的轻量级负载生成器,用于性能基准测试。它具备高并发处理能力,支持模板化参数动态生成和基准端流量控制,轻量级且无依赖,可快速部署以评估服务器在不同负载下的响应性能。

核心功能和特性

  • 性能强劲:高效处理高并发请求,准确反映服务器性能表现
  • 轻量级无依赖:无需额外依赖组件,部署简单,资源占用低
  • 模板化参数:支持多种变量类型(文件、序列、UUID、时间等),实现请求参数动态生成
  • 高并发支持:可配置并发线程数,模拟真实高负载场景
  • 流量控制:支持固定QPS限制,平衡基准测试端流量输出

使用场景和适用范围

  • Elasticsearch性能基准测试(查询、批量数据摄入等操作)
  • 通用HTTP服务器负载压力测试
  • 模拟生产环境流量模式,评估系统稳定性和瓶颈
  • 验证服务器在不同并发量下的响应时间、吞吐量和错误率

详细使用方法和配置说明

配置文件结构

Loadgen通过YAML配置文件(默认loadgen.yml)定义测试参数,核心包含variables(变量定义)和requests(请求定义)两个节点。典型配置示例:

variables:
  - name: ip
    type: file
    path: test/ip.txt  # 从文件加载变量
  - name: user
    type: file
    path: test/user.txt
  - name: id
    type: sequence  # 自增数字变量
  - name: uuid
    type: uuid  # UUID生成变量
  - name: now_local
    type: now_local  # 本地时间变量
requests:
  - request:
      method: GET
      basic_auth:
        username: elastic
        password: pass
      url: http://localhost:8000/medcl/_search
      body: '{  "query": {"match": {    "name": "$[[user]]"  }}}'  # 使用变量

变量类型及使用

variables节点定义动态参数,通过name标识,在请求中使用$[[变量名]]引用。支持的变量类型说明:

类型描述
file从外部文本文件加载,每行一个值,随机选取
sequence自增数字类型,从0开始逐次递增
range范围数字类型,需通过from和to参数定义取值范围(如from:10, to:20)
uuid生成UUID格式字符串(如c3qj9123r0okahraiej0)
now_local当前时间(本地时区),格式YYYY-MM-DD HH:MM:SS
now_utc当前时间(UTC时区),格式YYYY-MM-DD HH:MM:SS
now_unix当前Unix时间戳(秒级)

文件类型变量示例:
创建test/user.txt文件,每行一个值:

medcl
elastic
admin

请求中通过$[[user]]随机引用上述值之一。

请求定义格式

requests节点按顺序定义待执行的HTTP请求,支持固定参数和模板化参数请求。支持的请求属性包括:

  • method:HTTP方法(GET/POST等)
  • basic_auth:基础认证信息(username和password)
  • url:请求URL(支持变量引用)
  • body:请求体(支持变量引用)
  • body_repeat_times:请求体重复次数(用于批量请求)

查询请求示例:

requests:
  - request:
      method: GET
      basic_auth:
        username: elastic
        password: pass
      url: http://localhost:8000/medcl/_search?q=name:$[[user]]  # URL中引用变量

CLI参数说明

通过命令行参数控制测试执行行为,执行loadgen --help查看完整参数:

参数类型默认值描述
-cint1并发线程数
-compressboolfalse是否启用gzip压缩请求
-configstring"loadgen.yml"配置文件路径(默认当前目录下的loadgen.yml)
-dint5测试持续时间(秒),默认5秒
-debugboolfalse调试模式,发生错误时触发panic并退出
-lint-1限制总请求数(-1表示无限制)
-logstring"info"日志级别,可选:trace, debug, info, warn, error
-rint-1每秒最大请求数(固定QPS),-1表示不限制
-vboolfalse显示版本信息

Docker部署示例

假设镜像名称为infinilabs/loadgen,通过以下命令运行(需挂载本地配置文件到容器内):

# 基础用法:运行30秒,100并发线程,启用gzip压缩
docker run -v $(pwd)/loadgen.yml:/app/loadgen.yml infinilabs/loadgen -d 30 -c 100 -compress

# 限制QPS为200,日志级别debug
docker run -v $(pwd)/loadgen.yml:/app/loadgen.yml infinilabs/loadgen -d 60 -c 50 -r 200 -log debug

# 限制总请求数为10000,使用自定义配置文件
docker run -v $(pwd)/custom-config.yml:/app/custom-config.yml infinilabs/loadgen -config custom-config.yml -l 10000 -c 80

基准测试流程与结果解读

  1. 预热阶段:正式测试前执行所有请求一次进行预热,输出预热结果(含状态码和响应内容),若发生错误提示是否继续。
  2. 测试执行:按配置的并发数、持续时间或请求总数执行测试,实时输出请求状态。
  3. 结果统计:测试结束后输出客户端和服务器指标摘要,包括:
    • 请求数/秒(Requests/sec)
    • 平均响应时间(Avg Req Time)
    • 错误数(Number of Errors)
    • 各状态码分布(如Status 200数量)

典型测试输出示例:

5253 requests in 32.756483336s, 524.61KB sent, 2.49MB received

[Loadgen Client Metrics]
Requests/sec:		175.10
Request Traffic/sec:	17.49KB
Total Transfer/sec:	102.34KB
Avg Req Time:		5.711022ms
Fastest Request:	440.448µs
Slowest Request:	3.624302658s
Number of Errors:	0
Status 200:		5253

注意:Loadgen结果为累积统计值,可能存在一定误差。建议结合Kibana仪表板实时监控Elasticsearch的CPU、内存、IO等关键指标。

高级使用场景

模拟批量数据摄入

通过body_repeat_times参数复制多次请求体,生成批量请求:

requests:
  - request:
      method: POST
      url: http://localhost:8000/_bulk  # Elasticsearch bulk API
      body_repeat_times: 1000  # 随机复制请求体1000次生成批量数据
      body: "{ \"index\" : { \"_index\" : \"medcl-y4\",\"_type\":\"doc\", \"_id\" : \"$[[uuid]]\" } }\n{ \"id\" : \"$[[id]]\",\"field1\" : \"$[[user]]\",\"ip\" : \"$[[ip]]\" }\n"

生成固定数量的文档

使用-l参数限制总请求数,结合单请求单文档配置,生成固定数量文档:

# 配置文件中每个请求生成1个文档,通过-l控制总数量
docker run -v $(pwd)/loadgen.yml:/app/loadgen.yml infinilabs/loadgen -l 50000 -c 100

自增ID确保文档顺序

使用sequence类型变量作为文档ID,实现有序增长:

variables:
  - name: id
    type: sequence  # 自增数字变量(0,1,2,...)
requests:
  - request:
      method: POST
      url: http://localhost:8000/medcl-test/_bulk
      body_repeat_times: 1
      body: "{ \"index\" : { \"_index\" : \"medcl-test\", \"_id\" : \"$[[id]]\" } }\n{ \"id\" : \"$[[id]]\" }\n"  # ID与文档字段同步

请求上下文中的变量复用

通过runtime_variables(请求级共享)和runtime_body_line_variables(文档级独立)实现变量复用,如路由值与文档字段关联:

variables:
  - name: suffix
    type: range
    from: 10
    to: 15  # 随机生成10-15的数字
requests:
  - request:
      method: POST
      runtime_variables:
        batch_no: id  # 整个请求批次共享一个batch_no
      runtime_body_line_variables:
        routing_no: uuid  # 每个文档独立的routing_no
      url: http://localhost:8000/_bulk
      body_repeat_times: 10  # 生成10个文档
      body: "{ \"create\" : { \"_index\" : \"test-$[[suffix]]\", \"routing\" : \"$[[routing_no]]\" } }\n{ \"batch_number\" : \"$[[batch_no]]\", \"routing_no\" : \"$[[routing_no]]\" }\n"
查看更多 loadgen 相关镜像 →
eberkley/loadgen logo
eberkley/loadgen
by eberkley
暂无描述
10K+ pulls
上次更新:5 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.