Elasticsearch 性能测试工具 Loadgen 之 002——命令行及参数详解
上一讲,我们讲解了 Loadgen 的极简部署方式、配置文件、快速使用从 0 到 1 方式。
本讲,我们主要解读一下 Loadgen 的丰富的命令行及参数含义。
有同学可能会说,上面不是介绍很清楚了吗?但,咱们还是有必要详细中文解读一下。
一、Loadgen 命令行参数图解
如下图所示,这样看得更为清晰。
二、Loadgen 命令行参数一览表
Loadgen 提供了丰富的命令行参数,方便用户根据不同的测试需求进行灵活配置。以下是 Loadgen CLI 参数详解:
参数 | 说明 | 示例 | 默认值 |
---|---|---|---|
-c int | 指定并发线程数 | -c 50 表示使用 50 个并发线程进行测试 | 1 |
-compress | 启用对请求的 gzip 压缩,减少网络传输的数据量 | 直接使用 -compress 启用 | 未启用 |
-config string | 指定配置文件的路径 | -config myconfig.yml 使用 myconfig.yml | loadgen.yml |
-d int | 指定测试的持续时间(秒) | -d 60 表示进行 60 秒的测试 | 5 |
-debug | 以调试模式运行,遇到错误时抛出 panic 错误 | 直接使用 -debug | 非调试模式 |
-l int | 限制总的请求数 | -l 1000 表示最多发送 1000 个请求 | -1(不限制) |
-log string | 设置日志级别,选项有 trace 、debug 、info 、warn 、error | -log debug 设置为 debug | info |
-r int | 限制每秒最大请求数(固定 QPS) | -r 200 表示每秒最多发送 200 个请求 | -1(不限制) |
-v | 输出版本信息 | 直接使用 -v 输出版本信息 | 无 |
这些参数使得 Loadgen 在性能测试中更加灵活和高效,用户可以根据具体需求进行调整。
三、Loadgen 命令行参数详解
Loadgen 提供了丰富的命令行参数,方便用户根据不同的测试需求进行灵活配置。以下是对各个参数的详细解读:
并发线程数 (-c int)
说明:指定并发线程数。
示例:-c 50 表示使用 50 个并发线程进行测试。
默认值:1
启用 gzip 压缩 (-compress)
说明:启用对请求的 gzip 压缩,减少网络传输的数据量,提高测试效率。
示例:无额外参数,直接使用 -compress 启用。
默认值:未启用
配置文件路径 (-config string)
说明:指定配置文件的路径。
示例:-config myconfig.yml 表示使用 myconfig.yml 作为配置文件。
默认值:loadgen.yml
测试持续时间 (-d int)
说明:指定测试的持续时间,单位为秒。
示例:-d 60 表示进行 60 秒的测试。
默认值:5
调试模式 (-debug)
说明:以调试模式运行,Loadgen 会在遇到错误时抛出 panic 错误,方便开发者进行调试。
示例:无额外参数,直接使用 -debug 进入调试模式。
默认值:非调试模式
温馨提示:debug 会打很多日志,字符太多会截断可能中间有一些非法字符,正常运行别开 debug,性能也会影响。
如下报错,去掉 debug 命令行参数,即可解决。
限制总请求数 (-l int)
说明:限制总的请求数。
示例:-l 1000 表示最多发送 1000 个请求。
默认值:-1(不限制)
日志级别 (-log string)
说明:设置日志级别,可选值有 trace、debug、info、warn、error。
示例:-log debug 表示设置日志级别为 debug。
默认值:info
最大请求数 (-r int)
说明:限制每秒的最大请求数(固定 QPS)。
示例:-r 200 表示每秒最多发送 200 个请求。
默认值:-1(不限制)
输出版本信息 (-v)
说明:输出版本信息。
示例:无额外参数,直接使用 -v 输出版本信息。
默认值:无
四、小结
以上参数使得 Loadgen 在性能测试中更加灵活和高效,用户可以根据具体需求进行调整。通过合理配置这些参数,用户能够更好地模拟真实场景下的负载情况,从而有效评估 Elasticsearch、EasySearch 的性能表现。
Loadgen Github 地址:https://github.com/infinilabs/loadgen/tree/main
【实践好文】提升 Elasticsearch 性能的关键优化技巧,50ms提升到1ms!!
提升 Elasticsearch 索引性能 TOP 10 小技巧,你用到几个?
esrally 如何进行简单的自定义性能测试?
JMeter 如何实现 Elasticsearch 8.X 性能测试?
探索 INFINI Console:提升 Elasticsearch 管理效率的新利器
读者留言:有 Elasticsearch 国产化替代品吗?现在国产化不让用 ES 了......
Elasticsearch 国产化替代方案之一 Easysearch 的介绍与部署指南
更短时间更快习得更多干货!
和全球超2000+ Elastic 爱好者一起精进!
elastic6.cn——ElasticStack进阶助手
抢先一步学习进阶干货!