We want to stress test our pfsense box with a massive amount of connections and traffic. Right now we are using iperf, but reaching a number of more than ~300 parallel connections the test clients reach their limit regarding open tcp connections. But we need to simulate ~4000 clients running at least one TCP connection per client. What would be the best practice?
I don't think iperf is be flexible enough to simulate user activity for various traffic types. Depending on how you're using pfsense (routing, gateway, proxy, whatever) it will experience different load types.
So I would rather stick to one of the following tools:
- Apache JMeter - this one have GUI and doesn't require programming skills
- Grinder - this guy has TCP proxy for recording tests
- Gatling - this has quite pleasant Scala-based DSL so it's easy to create and read the tests
- Tsung - known for ability to create more load on less powerful hardware
See Open Source Load Testing Tools: Which One Should You Use? for more information on the tools.