Vegeta (software)

Source: Wikipedia, the free encyclopedia.

Vegeta
Original author(s)Tomás Senart[1]
Initial releaseAugust 13, 2013; 10 years ago (2013-08-13)[2]
Stable release
12.11.1[3] Edit this on Wikidata / 2 October 2023; 7 months ago (2 October 2023)
Repositorygithub.com/tsenart/vegeta
Written inGo[4]
Operating systemLinux, Microsoft Windows, macOS[1]
TypeHTTP Load testing
LicenseMIT License[1]
Websitepkg.go.dev/github.com/tsenart/vegeta/lib

Vegeta is an

GET requests.[5] Vegeta is used to generate a sustained, constant number of requests per second in order to discover how long a service can sustain a peak load before dropping in performance.[6]

In addition to preemptive load testing, the program can also be used for shadow testing,[7] where traffic from a live version of an application is mirrored onto a test version to determine how it handles the same traffic load, without causing potential disruption to the live version of the application.[8] Shadow testing is done in this way in order to analyze anticipated server performance.[9]

Vegeta is provided for use by web hosting services such as Scaleway[4] to use varied and multiple requests to stress test client HTTP services.[10] It is also used with dedicated load-testing platform services such as BlazeMeter.[11]

Usage

The command-line usage is in the format of vegeta [global flags] <command> [command flags]. The three global flags are -cpus int which specifies the number of CPUs to use, -profile string which enables profiling, and -version which prints the software version and then terminates the program.[1]

The commands available are attack, encode, plot, and report, each with its own various command flag options, and both attack input and report output can be done in an optional JSON format when specified with the appropriate flag.[1]

Vegeta can specify targets as URLs in a separate file with optional custom headers and requests, which can then be used as an input option on the command line.[12]

Example

An example usage would be to issue echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report from the command-line.[1] This example uses the echo command to output GET http://localhost/, and then executes the attack command for that output for five seconds. After that, it uses the tee command to write results to a file called results.bin, and runs the report command to display the output of the attack results.

References

  1. ^ a b c d e f Senart, Tomás (October 11, 2020). "GitHub - tsenart/vegeta: HTTP load testing tool and library. It's over 9000!". GitHub. Archived from the original on August 11, 2022. Retrieved August 27, 2022.
  2. ^ Senart, Tomás (August 13, 2013). "Initial commit". GitHub. Archived from the original on August 28, 2022. Retrieved August 27, 2022.
  3. ^ "Release v12.11.1".
  4. ^ a b c d "Load Testing with Vegeta". Scaleway. May 26, 2022. Archived from the original on October 16, 2021. Retrieved August 27, 2022.
  5. OCLC 990058133.{{cite book}}: CS1 maint: location missing publisher (link
    )
  6. OCLC 978273106. Archived from the original on August 28, 2022. Retrieved August 27, 2022.{{cite book}}: CS1 maint: location missing publisher (link
    )
  7. .
  8. ^ "Application deployment and testing strategies". Google Cloud. February 5, 2020. Retrieved August 28, 2022.
  9. OCLC 1225562925. Archived from the original on August 28, 2022. Retrieved August 27, 2022.{{cite book}}: CS1 maint: location missing publisher (link
    )
  10. ^ Dumitrescu, Sorin (July 10, 2020). "Black Friday. 0 downtime. How Bunnyshell & Vegeta & UiPath can help". BunnyShell.com. Archived from the original on August 28, 2022. Retrieved August 27, 2022.
  11. ^ Levental, Alla (August 26, 2021). "Vegeta Load Testing". BlazeMeter. Archived from the original on August 28, 2022. Retrieved August 27, 2022.
  12. from the original on August 28, 2022. Retrieved August 27, 2022.