云原生-Istio 性能测试
背景
本文主要是记录在使用 istio 作为 servicemesh 的环境中需要对某些应用进行基准测试。
环境
- Kubernetes 1.26
- Istio 1.18.2
- 压测工具 wrk()
本次压测工具使用 wrk 进行压测
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 性能测试/