Skip to content

Utility to do HTTP based load testing. Also provides basic support to test Named Pipe based imoplementation

License

Notifications You must be signed in to change notification settings

arushi315/load-test-tool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

http-load-test-tool

Load test tool allows user to make HTTP request for given parameters. Built based on Vertx & Java 8.

How to start tool for HTTP load test

    java -jar -Ddata.files.path=/var/opt/path_to_csv_file_containing_dynamic_parameters.csv http-load-test-tool-1.0-SNAPSHOT-fat.jar

How to start tool for Named Pipe test

-Ddata.files.path=path_to_csv_file -Drun.in.named.pipe.test.mode=true -Dkerberos.config.path=C:/kerberos-config.json

Given below sample Kerberos config JSON.

    {
      "pipeNames":[
        "sample-1",
        "sample-2"
      ],
      "durationInSeconds":10,
      "requestsPerSecond":5,
      "principle":"some_principle",
      "password":"some_password",
      "spn":"some_spn"
    }

Sample input JSON to trigger the load test.

    {
                "durationInSeconds" : 700000,
                "useBasicAuth" : true,
                "basicAuthUser" : "test",
                "basicAuthPassword" : "test",
                "rampUpTimeInSeconds" : 20,
                "httpClientInstances" : 10,
                "enableMutualAuth" : true,
                "certOptionsForMutualAuth" : [
                	{
                		"path" : "absolute_path_to_cert_1",
                		"password" : "password_for_cert_1"
                	},
                	{
                		"path" : "absolute_path_to_cert_2",
                		"password" : "password_for_cert_2"
                	}
                ],
                "testType" : "REQUEST_PER_SECOND",
                "path" : "/Path-To-Service-Endpoint",
            	"remoteHosts" : [
            		"https://localhost:8443",
            		"https://localhost:8444",
            		"https://localhost:8445"
            	],
            	"commonParameters" : [
            		{
            			"name" : "Dynamic-Param1",
            			"value" : "###"
            		},
            		{
            			"name" : "Dynamic-Param2",
            			"value" : "###"
            		},
            		{
            			"name" : "Dynamic-Param3",
            			"value" : "###"
            		}
            	],
            	"userAgentHeaders" : [
                    "Apple-iPod5C1-1104.1111",
                    "Apple-iPod5C1-1104.2222",
                    "Apple-iPod5C1-1104.3333",
                    "Apple-iPod5C1-1104.4444",
                    "Apple-iPod5C1-1104.5555"
                ],
                "remoteOperations" : [
                	{
                		"httpMethod" : "OPTIONS",
                		"requestFilePath" : "absolute_path_to_request_file",
                		"operationType" : "Give-It-Some-Unique-Name-1",
            	    	"loadRequestsPerSecond" : 5, 
            	    	"parameters" : [
            	    		{
            	    			"name" : "Static-Param-Name-1",
            	    			"value" : "Static-Param-Value-1"
            	    		}
            	    	]
                	},
                	{
                		"operationType" : "Give-It-Some-Unique-Name-2",
            	    	"loadRequestsPerSecond" : 5, 
            	    	"parameters" : [
            	    		{
            	    			"name" : "Static-Param-Name-2",
            	    			"value" : "Static-Param-Value-2"
            	    		}
            	    	]
                	},
                	{
                		"operationType" : "Give-It-Some-Unique-Name-3",
            	    	"loadRequestsPerSecond" : 1, 
            	    	"parameters" : [
            	    		{
            	    			"name" : "Static-Param-Name-3",
            	    			"value" : "Static-Param-Value-3"
            	    		}
            	    	]
                	}
                ]
            }

See Sample CSV file for HTTP load test input

About

Utility to do HTTP based load testing. Also provides basic support to test Named Pipe based imoplementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%