2

I'm doing a load test to Web Service SOAP with Jmeter, on non-GUI mode I start to get errors since 300 Number of Threads, this was detected with a "Response Assertion" with this rule: "Test failed: text expected not to contain /"rta":"FAIL"/".

On GUI mode I can see the error of several samples in "view Results Tree":

IO Error: The Network Adapter could not establish the connection

My current configuration of Oracle is:

select current_utilization, limit_value 
from v$resource_limit 
where resource_name='sessions';

Rta:

current_utilization, limit_value
177, 987

Cursors

select max(a.value) as highest_open_cur, p.value as max_open_cur
  from v$sesstat a, v$statname b, v$parameter p
  where a.statistic# = b.statistic# 
  and b.name = 'opened cursors current'
  and p.name= 'open_cursors'
  group by p.value;

Rta:

  highest_open_cur, max_open_cur
  241, 4000

¿This error is relate with some configuration in oracle database?


More information: ...

Database version:

Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
TNS for 64-bit Windows: Version 12.2.0.1.0 - Production

Jmeter settings:

Inter® Xeon® Gold 6126 CPU @2.6 Ghz 
4 Sockets, 4 Virtual Processors
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
HEAP=-Xms20G -Xmx20G -XX:MaxMetaspaceSize=128m
Windows Server 2016 Standard

Test plan:

  • Thread Group (Number of Threads 320, Ramp-Up Period 37, Loop Count 1)
  • 5 HTTP Request with 1 assertion each one.
  • 1 Listener PerfMon Metrics Collector

Server Metrics

Network

Goerman
  • 123
  • 6
  • Do you have the possibility to bind JMeter to listen on only one NIC? It looks like it is trying to connect to a NIC that is either disabled or non-functional. – John K. N. Mar 14 '18 at 06:41

1 Answers1

2

The error is being thrown by Oracle JDBC Driver when it cannot establish connection with the database.

Here is another example of someone suffering from the same problem.

My expectation is that your application is not properly using Connection Pool pattern (or it's simply not implemented) so connections are not being closed after executing the query. I would recommend checking your application using a profiler tool like JProfiler or YourKit - this way you will get more clear vision on what's going on.

Another way to get to the bottom of the issue is running a load test against database, i.e. execute queries directly without interim SOAP API calls using JMeter's JDBC Request sampler. This way you will be able to state that database works fine and the problem is with the Java application (or vice versa). See The Real Secret to Building a Database Test Plan With JMeter to get familiarized with the concept of databases load testing using JMeter.

Dmitri T
  • 531
  • 2
  • 2