云原生-Istio 性能测试

439aa25d52255816f7296454fe4df24b893f7aaa_2_1380x688.png

背景

本文主要是记录在使用 istio 作为 servicemesh 的环境中需要对某些应用进行基准测试。

环境

  • Kubernetes 1.26
  • Istio 1.18.2
  • 压测工具 wrk()

本次压测工具使用 wrk 进行压测

image.png

wrk基准测试工具的输出报告,解释如下:

  • Running 30s test @ https://pipeline-dev.ddd.com/healthz:这表示正在对https://pipeline-dev.ddd.com/healthz进行30秒的压力测试。
  • 10 threads and 1000 connections:这表示使用10个线程和1000个并发连接进行测试。
  • Thread Stats:这是每个线程的统计信息。
    • Avg:平均延迟,即每个请求的平均响应时间。在这个例子中,平均延迟是692.61毫秒。
    • Stdev:延迟的标准偏差,表示延迟的波动程度。在这个例子中,标准偏差是451.37毫秒。
    • Max:最大延迟,即所有请求中响应时间最长的一个。在这个例子中,最大延迟是2.00秒。
    • +/- Stdev:延迟在平均值加减一个标准偏差范围内的请求的百分比。在这个例子中,67.17%的请求的延迟在平均值的一个标准偏差范围内。
  • Req/Sec:每秒的请求次数。
    • Avg:平均每秒请求次数。在这个例子中,平均每秒请求次数是120.72。
    • Stdev:每秒请求次数的标准偏差。在这个例子中,标准偏差是74.64。
    • Max:最大每秒请求次数。在这个例子中,最大每秒请求次数是454.00。
    • +/- Stdev:每秒请求次数在平均值加减一个标准偏差范围内的百分比。在这个例子中,69.57%的每秒请求次数在平均值的一个标准偏差范围内。
  • 31473 requests in 30.04s, 16.78MB read:在30.04秒内,发送了31473个请求,读取了16.78MB的数据。
  • Socket errors: connect 0, read 0, write 0, timeout 2667:这是套接字错误的统计,包括连接错误、读取错误、写入错误和超时错误的数量。在这个例子中,有2667个请求超时。
  • Requests/sec: 1047.85:平均每秒的请求次数(QPS)。在这个例子中,平均每秒的请求次数是1047.85。
  • Transfer/sec: 572.17KB:平均每秒传输的数据量。在这个例子中,平均每秒传输的数据量是572.17KB。

压测

https://pipeline-dev.xxxx.com/healthz

资料


云原生-Istio 性能测试
https://mikeygithub.github.io/2024/03/09/yuque/云原生-Istio 性能测试/
作者
Mikey
发布于
2024年3月9日
许可协议