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