基准测试


概述

K9s 集成了来自才华横溢的 Jaana Dogan 的 HeyHey 是一个类似 AB bench 的 CLI 工具,用于对 HTTP 端点进行基准测试。该初步功能目前支持对端口转发和服务进行基准测试(这方面的摸索还很新颖!)。

要设置端口转发,您需要导航到 PodView,选择一个公开给定端口的 Pod 和容器。使用 SHIFT-F,会弹出一个对话框,允许您指定要转发到的本地端口。一旦确认,您可以导航到 PortForward 视图(别名 pf),列出您的活动端口转发。选择一个端口转发,并使用 CTRL-B 将在该 HTTP 端点上运行基准测试。要查看基准测试运行的结果,请转到 Benchmarks 视图(别名 be)。现在,您应该能够选择一个基准测试,并通过按下 <ENTER> 查看运行统计详细信息。注意:端口转发仅在 K9s 会话的持续时间内保持,并在退出时终止。

最初,基准测试将使用以下默认值运行:

  • 并发级别:1
  • 请求数量:200
  • HTTP 动词:GET
  • 路径:/

PortForward 视图由新的 K9s 配置文件支持,即: $XDG_CONFIG_HOME/k9s/bench-<my_context>.yml。您连接到的每个集群都有自己的 bench 配置文件。对该文件的更改应自动更新 PortForward 视图,以指示您想要如何运行基准测试。


请记住,随后的版本将很可能更改这个文件!


示例

# $XDG_CONFIG_HOME/k9s/bench-<my_k8s_context>.yml
benchmarks:
  # 如果容器或服务规则不匹配,则指示默认并发和请求数量设置。
  defaults:
    # 一个并发连接
    concurrency: 2
    # 将发送到端点的请求数量
    requests: 1000
  containers:
    # Containers 部分允许您配置 http 容器的端点和基准测试设置。
    # 注意:容器 ID 语法使用 namespace/pod-name:container-name
    default/nginx:nginx:
      # 对名为 nginx 的容器使用 POST HTTP 动词基准测试,使用 http://localhost:port/bozo URL 和 headers。
      concurrency: 1
      requests: 10000
      http:
        path: /bozo
        method: POST
        body:
          {"fred":"blee"}
        header:
          Accept:
            - text/html
          Content-Type:
            - application/json
  services:
    # 同样,您可以基准测试通过 NodePort、LoadBalancer 类型公开的 HTTP 服务。
    # Service ID 是 ns/svc-name
    default/nginx:
      # 设置并发级别
      concurrency: 5
      # 要发送的请求数量
      requests: 500
      http:
        method: GET
        # 此设置将取决于服务是 ModePort 还是 LoadBalancer。NodePort 可能需要供应商端口隧道设置。
        # 如果是 ModePort 则设置为一个节点,如果适用,则设置为 LB。IP 或 dns 名称。
        host: 1.2.3.4
        path: /bumblebeetuna
      auth:
        user: jean-baptiste-emmanuel
        password: Zorg!

 返回



© 2020 Imhotep Software LLC. 所有材料均在 Apache v2.0 下获得许可