Gosbench简介

Gosbench

Gosbench 是 Cosbench 的 Golang 重新实现。 它是一个分布式 S3 性能基准测试工具,带有 Prometheus exporter,利用官方 Golang AWS SDK

用法

Gosbench 由两部分组成:

  • Server:协调Workers和一般测试队列
  • Workers: 实际连接S3,进行对象的读、写、删除、列出操作

信息: -d 激活调试日志, -t激活跟踪日志

运行测试

  1. 构建服务器: go install github.com/mulbc/gosbench/server
  2. 运行服务器,指定一个配置文件: server -c path/to/config.yaml -可以在示例文件夹找到一个示例配置
  3. 服务器将打开端口 2000 供workers连接 - 确保此端口未被防火墙阻止!
  4. 构建worker: go install github.com/mulbc/gosbench/worker
  5. 运行worker, 指定服务器连接详细信息: worker -s 192.168.1.1:2000
  6. worker将立即连接到服务器并开始工作。 worker 为 Prometheus exporter打开端口 8888。 请确保防火墙允许使用此端口,并且已将worker添加到 Prometheus 配置中。
Prometheus 配置

确保 prometheus 配置与此类似:

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets:
        - localhost:9090

  - job_name: 'gosbench'
    scrape_interval: 1s
    static_configs:
      - targets:
        - WORKER1.example.com:8888
        - WORKER2.example.com:8888

要重新加载配置,可以向prometheus 服务器发送一个 SIGHUP 或者只是重新启动它;) 然后确保在 http://your.prometheus.server.example.com:9090/targets 列出了Gosbench workers

预计workers大部分时间都处于 DOWN状态……他们只能在测试运行期间进行抓取。

最佳实践也是在所有主机上运行 Prometheus Node Exporter ,以在测试期间收集通用系统指标。 这将帮助您识别瓶颈。 请参阅 Node Exporter 手册,了解如何在平台上安装和配置它

评估测试

在测试过程中,Prometheus 会不断从workers那里抓取性能数据。 可以在 Grafana 中可视化这些数据。 要大致了解所提供的数据是什么样的,请查看示例抓取

还有一个示例 Grafana 仪表板,可以导入和使用。 仪表板对人们感兴趣的最常见统计数据进行了一些基本概述:

从桶中读取预先存在的文件

由于受欢迎的需求,已添加读取预先存在的文件。 可以通过将 existing_read_weight设置为大于 0 的值来激活此特殊模式。

不过有一些重要的事情需要考虑;

与其他操作一样,将评估 bucket_prefix 值以确定用于搜索预先存在的对象的桶名称。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值