How to use all IP-adresses
I have just setup a captive portal using pfSense 2.0.2 (newest version). The goal is for the system to require authentication before granting clients internet access. This works as it should.
The system is going to handle around 400 clients and I need some way to stress test the system. One way I though about was to use some kind of software which asks for an IP-adress, changes mac and asks for a new one. This way one computer should be able to reserve as many IP's as wanted while providing me with information about
a) what happens when there are many almost simultaneous requests for IP adresses and
b) what happens when we reach 255+ clients
Unfortunately I do not know of any software running linux nor windows, which is able to do this. A change of the MAC-adresse will probably not be necessary, if the program just sends a random value for this field.
I have looked briefly at the DHCP protocol, but I must admit that it goes beyond my skills to create a client implementing all features. And I guess there must be some existing software which can do this.
Before anyone would be able to assist you with your problem you must first know what your own problem is. Stress testing a system implies you know what you want to test. What are you actually trying to stress test?
Is it DHCP? Not a problem it's designed to handle millions of clients so 400 is barely a load spike (if any). No tools to benchmark on Linux? False... Google. DHCPTest-python would work on any system including Linux and was one of the first results for me.
Is it the web interface? There are plenty of stress testing tools and writing your own in Python would be easy. (Capybara, Selenium, PhantomJS, and others. Google. Quality Assurance tools comes to mind.)
What are the specs of the system managing the services? That would help determining your ability to handle the load (which I highly doubt is an issue at all).
There are plenty of tools out there to test the components you suggest need testing. You just have to type a web search. Also, I'm not sure you even need to test considering the amount of clients you plan on supporting with your system. Instability of the system will likely come from another part of the system with such a light load. That's where you need to implement monitoring (something like Icinga, Zabbix, or other monitoring alternative). To get a real understanding of the system you must graph performance trends. This involves installing something like PNP4Nagios (works with Icinga) or munin. When you're stress testing how will you know what's going on if you don't record any data? Those are my suggestions.
|All times are GMT -5. The time now is 10:36 AM.|