思涯谷

  • 首页
  • 探索
  • 标签
  • 关于
思涯谷 ©2025
京ICP备2022030312号GitHub User's stars

使用K6进行Web压力测试

本文介绍了使用K6进行服务负载和压力测试的方法,包括编写测试脚本`test.js`和使用Docker运行测试,并展示了测试结果示例。

...
标签:服务器运维
点赞(0)
返回顶部
01-15

留言

  1. 编写测试脚本test.js
import http from "k6/http"
export let options = {
  vus: 100, // 指定要同时运行的虚拟用户数量
  duration: "10s", // 指定测试运行的总持续时间
}

export default function () {
    const res = http.get("https://test.url")
}
  1. 使用Docker运行:
docker run -i grafana/k6 run - <test.js
  1. 结果示例:
     data_received..................: 13 MB 398 kB/s
     data_sent......................: 56 kB 1.8 kB/s
     http_req_blocked...............: avg=141.53ms min=2.99µs  med=187.37ms max=314.8ms  p(90)=279.5ms  p(95)=293.93ms
     http_req_connecting............: avg=31ms     min=0s      med=16.79ms  max=88.77ms  p(90)=63.09ms  p(95)=78.42ms
     http_req_duration..............: avg=10.06s   min=78.29ms med=6.32s    max=31.41s   p(90)=19.07s   p(95)=29.57s
       { expected_response:true }...: avg=10.06s   min=78.29ms med=6.32s    max=31.41s   p(90)=19.07s   p(95)=29.57s
     http_req_failed................: 0.00% 0 out of 164
     http_req_receiving.............: avg=7.18s    min=29.49ms med=3.4s     max=31.08s   p(90)=16.52s   p(95)=28.98s
     http_req_sending...............: avg=54µs     min=9.39µs  med=32.61µs  max=805.1µs  p(90)=96.54µs  p(95)=211.55µs
     http_req_tls_handshaking.......: avg=83.14ms  min=0s      med=97.97ms  max=205.26ms p(90)=178.27ms p(95)=190.42ms
     http_req_waiting...............: avg=2.88s    min=13.87ms med=614.64ms max=29.38s   p(90)=14.44s   p(95)=14.54s
     http_reqs......................: 164   5.191253/s
     iteration_duration.............: avg=10.2s    min=240.5ms med=6.56s    max=31.57s   p(90)=19.28s   p(95)=29.74s
     iterations.....................: 164   5.191253/s
     vus............................: 2     min=2        max=100
     vus_max........................: 100   min=100      max=100


running (31.6s), 000/100 VUs, 164 complete and 0 interrupted iterations
default ✓ [ 100% ] 100 VUs  10s

参考文献:使用 K6 来给你的服务做一次负载和压力测试吧