Skip to content

Conversation

@joon0429
Copy link

Summary

k6 is a dynamic load testing tool that simulates mass concurrent virutal users to measure runtime performance (latency, throughput under load, load maintenance, etc.). This helps identify bottlenecks or weak zones for active usage

How k6 works

k6 runs JS test scripts that simulate user traffic by sending HTTP requests, and then collects metrics like request duration, error rates, and throughput. By having waves of ramping the load up and down, k6 can profile performance during differnt loads and expose bottlenecks or downstream effects

Evidence that you had successfully installed the tool

$ sudo apt update
$ sudo apt install -y k6
$ k6 version

Artifacts that demonstrate that you have successfully run the tool on your repository

image image

$ k6 run test/k6/load-test.js > test/k6/k6-output-a.txt

What types of problems are you hoping your tooling will catch? What types of problems does this particular tool catch?

  • the tool aims to catch performance issues at peak occupancy, such as high response latency or throughput bottlenecks
  • it also detects slow or blocked routes, allowing downstream effects to be traced up or parallel to concurrent issues
  • does poorly at detecting logical correctness, but rather that data flows as intended

What types of customization are possible or necessary?

  • load stages (time, volume, style) can all be varied to simulate differnt types of users (holiday shopping, launch traffic, etc.)
  • request types and routes can be sent to specific endpoints, even for external APIs
  • output details can report differnt variables, such as latency or throughput, based on which system requirements are being stress tested

How can/should this tool be integrated into a development process?

  • load test should be run adhoc before major releases or infrastructure changes, or in response to large customer wavecs
  • can periodically be run in the background, since it doesnt interfere with any WIP code
  • can be used as live documentation to trace root issues and validate improved pipelines

Are there many false positives? False negatives? True positive reports about things you don’t care about?

  • false positives aren't expected, since routes are simply followed as written and will immediately fail at tension points
  • false negatives are possible, specifically since k6 tests do not test for code logic.

@joon0429 joon0429 added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 24, 2025
@qianxuege qianxuege changed the title K6 dynamic analysis Test: Added K6 (Dynamic Analysis) Oct 24, 2025
@coveralls
Copy link

Pull Request Test Coverage Report for Build 18856717756

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 5 unchanged lines in 3 files lost coverage.
  • Overall coverage decreased (-0.01%) to 78.447%

Files with Coverage Reduction New Missed Lines %
src/admin/versions.js 1 87.88%
src/controllers/admin/dashboard.js 2 85.34%
src/middleware/render.js 2 78.89%
Totals Coverage Status
Change from base Build 18755099280: -0.01%
Covered Lines: 24893
Relevant Lines: 29874

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants