We have a desktop client that monitors the computer activity and sends data about it to the database server.
The desktop client communicates with the server every 5 minutes and uploads the data.
We need to run tests that'll simulate the traffic from a high amount of the desktop clients, to monitor the server's and the network's load.
The desktop client sends data as XML in a specific format.
Our idea is to create a solution that'll simulate the big amount of connections from a single workstation, sending the same data the desktop client would.
1) XML generator (simulator) with 500 entries from the desktop client (we'll provide the sample XML)
2) A script that'll send the XML to our database server through HTTP or HTTPS POST (the port needs to be configurable)
3) A script that'll massively send XMLs do our database server:
3a) The script needs to include a randomization of connection intervals as described in points 3b) and 3c) for 5 minutes. Meaning, that the scripts repeatably sends the XML every 5 minutes, but those XMLs need to be sent during the 5 minutes interval, not all at the same time. The total amount of XMLs needs to spread over the 5 minutes interval.
3b) Script needs to include a configuration of the amount of XMLs sent over 5 minutes (for example between 1 and 5000). In other words, a possibility to set minimum and a maximum value of XMLs to be sent by the script during a specific interval.
3c) Script needs to have an option of the incrementation - for example, it starts with 1 XML and starts to send more and more XMLs in time. The idea is to simulate the user environment in which (for example) 100 users start to work at 9AM and then an hour later more employees come to work, so the script sends more XMLs - at some point it reaches the maximum value from point 3b) and decreases the amount of XMLs in time.
4) Manual on how to use the script.
The solution doesn't need to have a GUI or can have a very limited GUI. It can be limited to a command line tool.
20 freelancers are bidding on average $21/hour for this job
Hello, I have read complete project details and i have good working knowledge on it and i deal with XML very well. Please reply me so we can discuss and get it done. Thank you.
Hi, I prefer to use python with cron task. It's easy to get os status in python and develop cron tasks. You could check my history. Looking forward to discussing in chat. Regards, Liu