JMeter with Socks Proxy? - amazon-ec2

I want to load test a socks proxy I have setup on aws. I would like to generate traffic from outside of the vpc. For now testing from my local machine should be sufficient but eventually I would like to move testing to one or more ec2 instances. JMeter seems to be a widely used tool for load testing but if anyone has any other suggestions it would be greatly appreciated.

Using Jmeter through a SOCKS proxy is surprisingly simple;
Start your SOCKS proxy e.g
on Linux ssh -D8080 https://dmz.server
Start Jmeter with JVM arg to use your proxy for all connections
java -DsocksProxyHost=localhost -DsocksProxyPort=8080 -jar ApacheJMeter.jar

It depends on your programming skills as JMeter is the only GUI-based tool.
For instance
Tsung is known for built-in Benchmarking a proxy server support and possibility to generate more load on less powerful machines
Gatling has very nice reports and very "pleasant" Scala-based DSL
Grinder - this guy can record requests on TCP level (while others support HTTP only). You need to know Python to modify and create Grinder scripts.
For more details on aforementioned tools see Open Source Load Testing Tools: Which One Should You Use? article, hopefully it will help to choose the right option.

One thing I noticed with the Socks Proxy support through the -D is for me the "HTTP Request" samplers would not use the Socks Proxy unless in the "HTTP Request Defaults" config element I set the "Implementation" to Java.

Related

websocket sampler throwing Null response while opening socket connection

The version of jmeter i'm using is 5.3
and the setting I'm using here is https://prnt.sc/zothxr for the web socket
I need to give load in the websocket using this jmeter & websocket
Looking into the plugin source code it appears that the session is not established so you might need to check your hostname/path/implementation and look at server and JMeter log files, it might be the case you didn't install the necessary dependencies or something like this.
Also the plugin you're using is kind of outdated so I would recommend switching to JMeter WebSocket Samplers by Peter Doornbosch, it can be installed via JMeter Plugins Manager and it has more features comparing to the version you're using.
More information: JMeter WebSocket Samplers - A Practical Guide

Can we record desktop applications using JMeter

Could some one please help me on the below
Is it possible to record desktop applications using JMeter?
I just tried the following, but didn't work
File--->Template--->Create
Workbench--->Recording Script-->Start
Launched my application which is desktop and perform some actions
Workbench--->Recording Script-->Stop
When I expand Threadgroup--->Recording Controller-Nothing recorded
Where am I missing?
You miss one important step:
configure your desktop application to use proxy and provide host and port where JMeter is running (localhost and 8888 if they live on the same machine
Also be aware that:
JMeter can record only HTTP or HTTPS traffic, if your application uses other protocol - the calls will not be recorded. In that case you can consider The Grinder as an alternative, it comes with TCPProxy which is more low level therefore is cable to capture more protocols
If your application uses HTTPS protocol you will need an SSL certificate in order to decrypt and record the requests, you can configure your application to use JMeter's certificate or vice versa.
On MS Windows you may need to add a Loopback Adapter
See How to Run Performance Tests of Desktop Applications Using JMeter article for more details on simulating multiple desktop applications using JMeter
As help explains:
The recorder is implemented as an HTTP(S) proxy server. You need to set up your browser use the proxy for all HTTP and HTTPS requests.
Technically browser is also a desktop application, so to answer your first question, yes, you can record desktop applications using JMeter. However, just like browser, your desktop application must have an ability to connect to the internet via user-defined proxy. And also recorder will only record HTTP traffic from and to the application, it will not record client-only UI events, or traffic generated by any other protocols.
So to sum up:
Any desktop application can use JMeter recorder
But only if you can configure it to use JMeter recorder as a proxy
And only if your goal is to record HTTP traffic related to your desktop application, nothing else.

I sent a HTTP request. There is an error in View Results Tree. What wrong am I doing?

I tried many different url but always getting same error. I am new in Jmeter and testing. Java is istalled in am computer.
Your test looks good, just click on the Facebook Home Page in the Listener to see the summary. My expectation is that connection cannot be established i.e. you're sitting behind a corporate firewall
In general,the fastest and the easiest way of getting a JMeter test script "skeleton" is recording using HTTP(S) Test Script Recorder. Check out JMeter Proxy Step by Step guide for instructions.
You can also consider using an alternative solution for recording a JMeter test, it has so called "SmartJMX" mode - automatic correlation of all dynamic parameters. See How to Cut Your JMeter Scripting Time by 80% for details
Now it is working perfect. I could not find why it was not running properly earlier. I did not made any changes.
Check following:
If you are seeing socket connection error thne, If you are behind proxy, launch JMeter with -H server -P Port option (so that JMeter redirects the request.)
Change implementation to Java from httpclient4.

Desktop based application recording in jmeter

I have a desktop based(.exe) application used for trading of equities.
1.Developed in VB uses TCP/IP.
2.Uses a database server which is an another server which the exe sends requests on.
3.I want to get the entire response using jmeter for 50 users at a time.
I wanted to record the responses for the transactions.I have worked with web applications where we create Http proxy server and start it and the recording happenes from browser but in this case i cant use browser.
Please guide me how to record the responses in jmeter with .exe applications.
Thanks and Regards,
Kumar
JMeter HTTP(S) Test Script Recorder is capable of recording only HTTP or HTTPS traffic so if following conditions are met:
Your .exe application talks to server using HTTP
Your .exe application can be configured to use HTTP proxy or respects Windows global HTTP Proxy settings from registry (or configured in Internet Explorer)
the answer is "yes", you can use JMeter to record the traffic. See Load Testing Mobile Apps. But Made Easy. guide for details on how to do it.
If one of above conditions cannot be satisfied there are following options available:
If you still want to use JMeter there is a possibility to use a sniffer tool like Wireshark to capture requests and manually construct them using JMeter HTTP Request or TCP Sampler.
Consider switching to Grinder tool which offers TCP Proxy
Hope this helps.

What is a bootstrap-proxy in Chef?

I am looking at this http://tickets.opscode.com/browse/CHEF-2375 and I am a bit confused as to what this option is useful for. I understand the idea of a proxy node in general as described here: http://en.wikipedia.org/wiki/Proxy_server
Can someone explain the use of a bootstrap-proxy in Chef?
Basically the bootstrap-proxy allows you to specify a HTTP proxy server when setting up your servers.
This is probably not a big deal for most people, but there are a few cases where you need/want an HTTP proxy.
Some networks are set up to require the use of an HTTP proxy in order to make outbound HTTP connections. This can provide some added security as well as a wealth of control on the part of the network admin. Without http proxy support the knife bootstrap command would be unable to make any HTTP connections.
Added an HTTP proxy as a cache can make commands like apt-get run much faster, especially on a slow connection. Essentially your proxy can cache any packages you download while the first server won't see much of a difference, any subsequent servers will download packages directly from the cache which can be much faster.

Resources