Good morning,

I am using the OS Process sampler to start an ipsec (StrongSwan)
connection, and it’s working well until I hit about 100 threads, then the
following exception appears

WARN  - jorphan.exec.StreamCopier: Error writing stream
java.io.IOException: Stream closed

and the samples start timing out





2016/03/01 13:44:30 INFO  - jmeter.reporters.Summariser: summary +     50
in  30.2s =    1.7/s Avg: 18785 Min: 14642 Max: 23661 Err:     0 (0.00%)
Active: 99 Started: 99 Finished: 0

2016/03/01 13:44:30 INFO  - jmeter.reporters.Summariser: summary =    338
in   320s =    1.1/s Avg:  6789 Min:   101 Max: 23661 Err:     0 (0.00%)

2016/03/01 13:44:32 INFO  - jmeter.threads.JMeterThread: Thread started:
Open ipsec connections 1-100

2016/03/01 13:45:01 INFO  - jmeter.reporters.Summariser: summary +     49
in  30.2s =    1.6/s Avg: 21878 Min: 17053 Max: 26981 Err:     0 (0.00%)
Active: 100 Started: 100 Finished: 0

2016/03/01 13:45:01 INFO  - jmeter.reporters.Summariser: summary =    387
in   350s =    1.1/s Avg:  8700 Min:   101 Max: 26981 Err:     0 (0.00%)

2016/03/01 13:45:14 WARN  - jorphan.exec.StreamCopier: Error writing stream
java.io.IOException: Stream closed

        at
java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:170)

        at java.io.BufferedInputStream.read1(BufferedInputStream.java:291)

        at java.io.BufferedInputStream.read(BufferedInputStream.java:345)

        at java.io.FilterInputStream.read(FilterInputStream.java:107)

        at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1792)

        at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)

        at org.apache.jorphan.exec.StreamCopier.run(StreamCopier.java:57)





My configuration:

I am running Jmeter 2.13 in text (non-GUI) mode on a Ubuntu 15.10 server. I
also tried the nightly build r1732820 as I saw a possibly related bugfix
**, no change

java version "1.8.0_74" (Oracle Jdk). I have also tried the OpenJdk, no
change



The testplan looks so



setUp Thread Group

  os Process Sampler: restart networking

  os Process Sampler: delete a ipsec log file, so it does not grow too big

  os Process Sampler: start the ipsec services

  constant timer, wait 5 seconds



main thread group: 100 threads, run 1 hour with scheduler, rampup 10 minutes

  os Process Sampler: ipsec up (the name of the connection is a fixed
string plus the thread number)

     verify that an ip address is given, return code is 0, the string
“successfully is displayed”

  constant timer, wait 30 seconds

  os Process Sampler: ipsec down (name of the connection as above)



tearDown

  os Process Sampler: stop the ipsec services



In the test plan, there are a “View Results Tree” and an “Aggregate
Report”, which I assume are not used in text mode.

I have the same test plan on another computer, where I copy the .jtl file
and use JMeter in GUI Mode to look at the results.



During the execution of the tests, the server does not show overload
(cpu/memory, checked with top)

I have also verified manually (for loop in bash) that the ipsec connections
configured in ipsec.conf start correctly



In the test plan, I tried two variants to execute the command

1: use /bin/bash as the Command, and /usr/local/sbin/ipsec as a parameter
(other parameters are then “up” and the name of the connection)

2: use directly /usr/local/sbin/ipsec as the Command, parameters as above

Here there is also no difference


Is there a limit on the number of open streams?

I have tried to run the test with 99 threads, the “Stream closed” exception
still appears, if I let the test run long enough, so it does not look like
there is a hard coded limit of 100



Thanks for any suggestion and best regards

Ivan





** Use Java7 try with resources

Close stream leak

Remove commented code

Fix synchro issue in comparison


git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1719558

Reply via email to