I would like to test a c++ server which basically receives some simple JSON config files from client application via TCP socket and do some work according to the received config and return some JSON response (success or fail).
Now I want to test the performance of the server (how much time it takes to process a request) by connecting multiple test client applications (also a c++ app) to it and sending config files simultaneously.
As you can see above, I wanna run the test clients on one PC and sever on another PC. The result of this test will be a textual output (log file or console) request/response time of each client.
Should I build a single test client app and run it as multiple processes (multiple applications) or I need to build one parent Test app which emulates the functionality of the client app in a different threads?
I would like to scale my client applications count from 1 to 100.
Is there any test framework like Google-Test that has this functionality built-in?