jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mcgladrey, Kayne" <kayne.mcglad...@attws.com>
Subject jMeter LDAP sampler creates 1005 connections
Date Wed, 15 Oct 2003 22:10:47 GMT
Hello,

I'm testing the jMeter LDAP sampler and I seem to have fielded a defect, or an interesting
undocumented feature. When testing the LDAP search sampler, my Directory Server notes 1,005
active connections; jMeter doesn't drop them nearly as fast as it creates them.

Solaris 8
java version "1.4.1_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_05-b01)
Java HotSpot(TM) Client VM (build 1.4.1_05-b01, mixed mode)

Steps to reproduce:
 1. Start jMeter
 2. Create a new thread group
 3. Leave the defaults as-is
 4. Add simple logic controller
 5. Add LDAP request sampler
 6. Put in correct port # and use localhost (or appropriate hostname)
 7. Select "search test"
 8. Select "User defined test"
      Search base: cn=test
      Search filter: objectclass=*
 9. Save test
10. Run test.

Tailing the Directory Server log file I can see the searches executing quite nicely, one after
another. I even see the occassional unbind. Interestingly enough, the connections stay open
until jMeter has been shut down. Stopping the test doesn't affect the number of open connections.
Only by closing jMeter will they drop. Also of note: starting another test without closing
and restarting jMeter will create more connections, though not more than 1,005. Closing jMeter
adds 1,005 lines to the Directory server log file - all of them indicating a disconnect.

Changing the number of active threads to ten only means the number of active connections increases
faster. It seems to top out at 1,005, even if it started at 500 open.

I'd really like to use this tool for performance testing but no single client here is going
to hold more than 50 active connections, let alone a thousand.

I've also had it produce the following error output when it gets up to 1,005 connections and
the test run is stopped:

[kayne@emhrds01 bin]$ Logging Error: Caught an IOException
java.io.InterruptedIOException
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:257)
        at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
        at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)
        at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408)
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
        at org.apache.log.output.io.WriterTarget.write(WriterTarget.java:119)
        at org.apache.log.output.AbstractOutputTarget.doProcessEvent(AbstractOutputTarget.java:149)
        at org.apache.log.output.AbstractTarget.processEvent(AbstractTarget.java:145)
        at org.apache.log.Logger.fireEvent(Logger.java:708)
        at org.apache.log.Logger.output(Logger.java:683)
        at org.apache.log.Logger.output(Logger.java:666)
        at org.apache.log.Logger.info(Logger.java:206)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:306)
        at java.lang.Thread.run(Thread.java:536)

Is there any way to cause jMeter to either hold long binds and share them, or to drop and
reconnect on every operation?

Thank you,


Kayne McGladrey

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message