The Apache HTTP Server Project

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.

  • XML-based configuration
  • Able to set and retrieve variables from pages
  • Uses threads and processes intelligently to scale
  • Works with SSL

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

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.

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


Copyright © 1999-2004, The Apache Software Foundation