I am using jmeter 2.13 [latest version]. Running a loadtest on https web application with a load of 10000 users. I am using 40 [x250 users/LG] load generators for this. All are 8gb ram & quadcore processors & CentOS operated.
I am getting java.net.socket exception: connection reset issue.
I tried in both options using keep-alive checked & unchecked.
Done all the recommendations need to avoid this issue. Still I am getting the issue. Server is also not showing any issues/logs on reset.
Please help me in understanding the root cause for this issue & how can I avoid this issue.
Also I didn't quite understand the active threads overtime graph? Why the spikes in the graph? Does it mean the thread will connect again after reset? [I have used stop thread on error].
Link given above by Dmitri T is very useful, may fix you problem. If it won't, you may want to consider switching to other HTTP Client implementation. I recently faced a strange issue (probably a bug in client v4), which disappeared afer downgrading client version.
Related
Greetings for the day!
I am currently facing challenges to induce higher load using Jmeter Distributed mechanism which I configured in AWS windows machines.
My machines are throwing Response code:Non HTTP response code: java.net.BindException
Response message:Non HTTP response message: Address already in use: connect exceptions.
I am trying to calculate the foot print for the slave machines so that I can confidently communicate on how much load they can handle.
I am using a windows 2019 server, with a 16 GB RAM.
While surfing through internet for answers I got the below link which says to change the registry settings to optimally use the ports.
https://www.baselogic.com/2011/11/23/solved-java-net-bindexception-address-use-connect-issue-windows/
I am looking for suggestions from your end to execute more threads seamlessly (especially spikes using free from arrival thread groups) from the available resources I am currently having.
Please let me know if any further information is required from my end which can help me get better solutions.
Many Thanks for your support.
Regards,
Vijay
As per Adjusting TCP Settings for Heavy Load on Windows article you should:
create a DWORD value named TcpTimedWaitDelay with the value of 60 under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters
create a DWORD value named MaxUserPort with the value of 32768 under the same key
Make sure to follow JMeter Best Practices
Make sure to monitor the networking and other performance counters of the Windows machine using either built-in Windows perfmon or via JMeter PerfMon Plugin
I'm testing an application running on a Raspberry PI via Apache JMeter. Everything works fine but JMeter always return 0 ms latency, no matter how many clients concurrently probe the Raspberry in the time unit.
At beginning I thought this behaviour was due to the short path between the client (my laptop) and the server (the raspberry) as they were on the same subnetwork in my house; then I decided to purposely add a delay on the server application (on the raspberry) before it answer (5 seconds to be precise); the responses were in fact delayed but latency was always 0. I searched on the web and many other users had the same problems but I found nothing that could be useful.
My requests are CoAP messages. I used a Plugin found at https://github.com/starrlingo/jmeter-iot-lib.
I tried several before this but they all gave me the same problem
The plugin you're using does not set latency by calling:
SampleResult#latencyEnd()
See:
https://github.com/emqx/coap-jmeter/blob/master/coap-jmeter/src/main/java/net/xmeter/samplers/CoAPPubSampler.java
https://github.com/emqx/coap-jmeter/blob/master/coap-jmeter/src/main/java/net/xmeter/samplers/CoAPSubSampler.java
Thanks #user7294900 for finding source code of your plugin
I have 2 web servers (IIS 8.5) behind a hardware firewall and our application uses SignalR for some real-time updates. We are using SQL Server as the backplane to help us work in this load balanced environment. Additionally we are using sticky sessions on the load balancer to help us keep the users on the same web server during their session. When we are running in this hardware configuration we lose at least 1/3 of our messages. Sometimes we get all the expected messages but more often than not we are missing plenty.
When we are running on a single web server all messages are received. Does anyone have any suggestions for troubleshooting this problem? We've turned on logs (both client & server) and nothing looks like it's missing or broken. We're really stumped.
EDIT---
Some additional details that I hope will shed light on the situation.
Server to Client messages are getting lost. Pretty much all our communication is Server to Client.
We are using sticky session just based on IP and limited to 5 minutes but we're losing messages within that 5 minutes.
This is some old SignalR code that has been only minimally touched since SignalR 1 (or even older). We are keeping an in memory list of users along with their connections and we use that list to send notices back to the client. It seems most likely that this is the cause of the troubles but with Sticky sessions the user should be stuck to the same server for at least the 5 minutes right?
This list of users maps Username to connection id. This is useful when our backend services (on another machine) sends a message back with the username not the connection id.
Finally resolved this. There were 2 issues really. The first is that we were using an in memory list of users as mentioned in the edit above. Once we realized that wasn't going to work across machines we removed it. It also led us to the second issue which was how SignalR 2 uses the IUserIdProvider and our call should have been
Clients.User(userId).send(message)
instead of
context.Clients.Client(connection)
This code had existed since we first started using SignalR many years ago and never got properly updated as we upgraded SignalR versions
Have the same machineKey specified in your web.config on both servers.
We are experimenting problems with a WCF-Custom Send Port in BizTalk Server 2009.
Our Send Port is using sapBinding and is very slow. Checking our Performance Counters, the problem is with Outbound Adapter Latency (sec), that sometimes is greater than 5 secs, when the process in SAP is only ms.
How can we check where is exactly the problem? Enabling enablePerformanceCounters property on binding can help with this issue?
UPDATE
I have added the WCF Microsoft.Adapters.SAP Diagnostics and now I can see exactly the invocation time:
I don't understand where the time is lost.
I'm using JMeter 2.3.2 and XP SP3. When I try a JDBC request, XP crashes. This is not very convenient.
This is the first time I've used JMeter, so I'm looking for inspiration as to where to look.
Its with a fairly simple JDBC request (simple select, without parameters, aggregated report etc).
The database is SQL server, the correct jar is in the lib directory, all of the setup is correct as far as I can tell.
Does anyone have any experience of this problem?
I've found the problem, it was that the IP address of the URL wasn't correct.
I changed the IP address and now it works. There were lots of 'Cannot connect to IP address' in the logfile, and I think either Jmeter or XP was keeping theses connections around, until a buffer overflowed.
Its strange, but now that I know the answer, I can't reproduce the problem any more. Maybe it wasn't that after all. Anyway, it works now.
Sounds like Java was running out of memory and freezing your system.