A request is any attempt at making an HTTP call to the system you're testing. Locust counts both successful and failed requests in "requests" but each request has one of those two status states. By default, a request is considered a success when the final HTTP response code is 2xx and a failure if it's anything else, including a timeout in receiving an answer. (You can manually override whether a request is a success or failure if you need to for the system you're testing.) Failures are counted and displayed separately with totals, percentages, and per second counts in appropriate places.
For example, if you're hitting an endpoint /login
on the system you're testing and the client makes 20 attempts at hitting /login
, it's making 20 requests. If 5 of those fail, you'll see a total 20 requests with 5 failures (let's say 3 5xx errors and 2 timeouts). If all of those happen in a single second, it'd be 20 requests per second (rps) total and 5 rps for failures with a 25% failure rate. In the GUI under the Failures tab, you'd see a breakdown of failure count by reason, showing you the 3 5xx and 2 timeouts. All these data and stats should be consistent across the GUI, CSV downloads, and anywhere else.