Herramienta escrita en Go, que se utiliza para generar carga HTTP con el fin de realizar pruebas de rendimiento o benchmarking de servicios web. Sirve para evaluar cuántas peticiones por segundo puede manejar un servidor, simular múltiples usuarios simultáneos haciendo peticiones HTTP y probar cómo reacciona una API o página web bajo carga.
$ hey -n 200 -c 20 https://example.com
$ hey -n 100 -c 10 -m POST -H "Content-Type: application/json" -d '{"username":"test","password":"1234"}' https://example.com/api/login
-m POST --> especifica el método HTTP.
-H --> cabecera HTTP.
-d --> cuerpo del mensaje.
$ hey -n 100 -c 10 -m PUT -H "Content-Type: application/json" -d '{"name":"new name"}' https://example.com/api/item/1
$ hey -n 50 -c 5 -H "Authorization: Bearer <token>" https://api.example.com/protected