Frequently Asked Questions

What is Flood?

Flood is a profile-driven HTTP load tester. In layman's terms, it means that flood is capable of generating large amounts of web traffic. Flood's flexibility and power arises in its configuration syntax. It is able to work well with dynamic content.

What are some of the features of Flood?

How does Flood retrieve variables from pages?

Flood's configuration syntax allows for regular expression matching to isolate values in a page.

Consider placing an order on a website. You add the order and you know that the order confirmation page has the following format: "Order XYZZY placed successfully." By using the following semantics, flood can store XYZZY into the OrderID variable: responsetemplate="Order ([^ ]*) placed successfully" responsename="OrderID" In a subsequent request, you can use this OrderID variable in any template variable: requesttemplate="https://localhost/getOrderStatus?orderId=$ {orderID}" This will send the following request: https://localhost/getOrderStatus?orderId=XYZZY

Can I use Flood with SSL sites?

Yes. However, due to export regulations and laws, Flood does not have SSL support enabled by default. When configuring flood, you must pass the --enable-ssl flag. Flood currently works with OpenSSL.

Flood seems like it is stalling.

Your TCP implementation may have run out of ephemeral ports. Please consult your operating systems' manuals on how to decrease the FIN timeout.