Performance test lab automation with Paramiko

srijesh ajay
2 min readMay 2, 2021

Have you done performance analysis using Apache JMeter in distributed mode for continuous fashion for multiple releases on a weekly/bi weekly routine. How troublesome is to put the effort in setting up the test lab for distributed mode with Master and multiple slave machines.

Paramiko library

Bash shell scripts can automate test lab deployment on Linux lab machines. SSH protocol can move scripts from host machine to lab machines and perform automation based on the scale of implementation.

Separate set of scripts needed for Master and slave machines, for the current scope we can utilise master machine itself for the database configuration and dashboard building.

If the same environment can be utilised through the release plans, then software installation and configuration pre-checks have to be added to the scripts. More likely effort with checking and setting up JMeter master machine & running agents will be directly managed with this setup.

Now the area of handling test executables, this can be managed with setting up local Visual SVN or git repository as a centralized space. Each time based on the JMX file selected, respective set of files will be copied into the same directory structure for Master and slave machines.

Alone with Paramiko, could be tricky to manage all the conditions via shell. stdout logs from shells can be utilised in validation point. Each time make necessary logs based on the requirement and validate it with Python conditions.

Further a solution can wrapped around this Python framework. Making the deployment and configuration user friendly. We are currently utilising this framework for mass performance engineering projects with open source platforms.

Definitely there’s bit of coding and time required to set it up. Considering recurring efforts and complications with setting each time these labs, this one time effort will be so productive. Even this can be implemented on cloud infrastructure to make cost optimised solutions. Later another post can be created to discuss those areas.

Happy learning !!

--

--

srijesh ajay
0 Followers

Performance Engineer, keen on developing innovative solutions integrating open source platforms.