Are you using JMeter with distributed configuration? do you have any delays between requests?
As I mentioned - in the past, I saw a situation when JMeter (In a distributed environment) started to loose connections once a certain number of thread was reached. I've isolated the case by using more servers with less thread numbers. Number of concurrent users/thread is very sensitive to the JMeter configuration and there are several parameters that have an affect on this. I think that 500 threads per one JMeter instance (server or engine) is way too much unless you have long delays between each requests. For example, a single core server can easily take on 1000 users if you have 1 minute delay between each request. Assuming that the OS can handle 1000 file descriptors and more. However, any server can find it hard to deal with a 200 thread load with no delay. The server will suffocate over time. I can offer you a pre-configure distributed environment where you can easily test your script with an unlimited number of servers already pre-configured to work in a distributed environment That's said, you can also launch on your own several instances of JMeter with reduced number of threads each, just to see who is the bottle neck. Today I am running tests with 10,000 concurrent users easily using JMeter. Best, Alon. sebb-2-2 wrote: > > On 12/09/2009, alongir <[email protected]> wrote: >> >> Hi. >> >> This can happen due to overloading your JMeter instances. > > Sorry, what can happen when overloading JMeter? > > If you are referring to connection refused, then this is generated by > the server, not JMeter. > I don't see how JMeter being overloaded can cause this - if anything, > an overloaded JMeter will generate less load. > >> I'm not sure I am >> referring to the right exceptions code, however, I did encounter such >> experience when I tried to ask too much of my JMeter instances in a >> distributed environment. >> >> If you want to isolate the problem, I can supply you with multiple >> JMeter >> instances already configured. You can try it with let's say 6 strong >> machines running a small to medium load and see if the problems is >> solved. >> >> Take a look at my website, it's http://www.cloud-intelligence.com/load >> http://www.cloud-intelligence.com/load . If you think this can solve >> anything for you, I can create a temporary account and let you test it. >> >> Best, >> Alon. >> >> >> >> sebb-2-2 wrote: >> > >> > On 11/09/2009, Jakub Białek <[email protected]> wrote: >> >> Obviously JMeter supports much more than 30 threads. But if you use >> >> JMeter to simulate e.g. 200 concurrent users to check load and >> >> response time of your application then you can use e.g.: >> >> - 1 jmeter instance with 200 threads or >> >> - 2 jmeter instances with 100 threads each or >> >> - 4 jmeter instances with 50 threads each or >> >> - 8 jmeter instances with 25 threads each >> >> ...... >> >> The last solution is the best if you want simulate real load that >> can >> >> be generated by 200 real users. The first solution is the worst. >> I'll >> >> explain it below. >> >> Let's assume that you have 1 core CPU. Some facts: >> >> - at the moment on your cpu can run only one process/thread to >> >> simulate multitasking OS gives small amount of time to each >> >> process/thread and changes the process/thread context >> >> - changing/switching process cost several cpu cycles because cpu >> >> registers have to be filled with corresponding data >> >> - changing/switching thread is cheaper >> >> - not only jmeter runs on your machine also many other >> >> application/process bounded to the OS, so jmeter is often dispossess >> >> and waiting for cpu cycles >> >> - not only workers threads of jmeter runs, also other java threads >> >> e.g. GCThread, all those threads compete for cpu >> >> - when one thread/process is running others are sleeping/waiting >> >> - process/thread can by disposed at any time of execution >> > >> > These are all true, but: >> > >> >> Conclusion: >> >> - 200 jmeter threads don't mean 200 concurrent users, load generated >> >> by those jmeter instances will be much less than this by 200 >> >> concurrent real users >> > >> > That's not a valid conclusion unless JMeter is running out of CPU. >> > >> > In general, a single JMeter thread can generate *more* load than a >> > single user, because it can send requests much faster than a human. >> > >> >> - more jmeter threads more time spent on switching context, less >> time >> >> used by jmeter worker threads >> >> - any worker thread can be disposed (and wait when rest 199 threads >> >> will take their cpu time) after receiving answer from server but >> >> before calculate time that call to server took so this time will be >> >> incorrect >> >> >> >> So if your goal is to simulate as good as possible load generated by >> >> many users then use so much jmeter instances (computers) as you can >> >> with as less as possible threads on each jmeter instance. Otherwise >> >> your results can be far from reality and you can be surprised why >> your >> >> application can't handle with those users even though jmeter stress >> >> tests passed. >> > >> > Again, I disagree with this. >> > >> >> If someone is interested in comparison how performance of my >> >> application changes depending on jmeter configuration (number of >> >> threads and number of instances) I can do that test. I have 10 >> servers >> >> with 2 CPU each and each CPU with 4 core. Those servers can be used >> as >> >> a JMeter clients. >> >> >> >> >> >> Best regards, >> >> Jakub >> >> >> >> >> >> W dniu 11 września 2009 15:54 użytkownik sebb <[email protected]> >> >> napisał: >> >> >> >> > On 11/09/2009, Jakub Białek <[email protected]> wrote: >> >> >> How about tomcat is it on linux or windows machine? Make sure >> that OS >> >> >> doesn't limit the max number of inbound connection. >> >> >> >> >> >> Jakub >> >> >> >> >> >> BTW. I think that 200 thread on 1 jmeter instance are to many if >> you >> >> >> don't have cpus that support 64 threads simultaneously ;) . I >> >> usually >> >> >> use no more than 50 on 8 core system. >> >> >> >> >> > >> >> > A single JMeter instance can support many more than 50 threads, >> >> > depending on the test plan. >> >> > >> >> >> >> >> >> 2009/9/11 Mytho Logic <[email protected]>: >> >> >> > Hi, >> >> >> > >> >> >> > I tried with 550 threads in tomcat for 500 concurrent users. >> But >> >> not >> >> >> > succeed. >> >> >> > >> >> >> > Jmeter Client:- >> >> >> > System: Windows XP Professional Verison 2002 SP2 >> >> >> > Computer: Intel(R) Core(TM)2 CPU 6300 @ 1.86 Ghz 1.86 GHz, >> 1.97 GB >> >> of RAM >> >> >> > >> >> >> > Jmeter Server:- >> >> >> > System: Windows XP Professional x64 Edition Verison 2003 SP2 >> >> >> > Computer: Intel(R) Xeon(R) CPU 5130 @ 2.00 Ghz 2.00 GHz, 8.00 >> GB >> >> of RAM >> >> >> > >> >> >> > Thanks >> >> >> > Maumita >> >> >> > >> >> >> > >> >> >> > 2009/9/11 Jakub Białek <[email protected]> >> >> >> > >> >> >> >> If you have 500 (truly) concurrent users then you need at >> least >> >> 500 >> >> >> >> threads in tomcat, try with 550 thread. >> >> >> >> >> >> >> >> You run jmeter on windows or linux os? >> >> >> >> >> >> >> >> Best regards, >> >> >> >> Jakub >> >> >> >> >> >> >> >> 2009/9/11 Mytho Logic <[email protected]>: >> >> >> >> > Hi, >> >> >> >> > >> >> >> >> > I changed the maxthreads limit in tomcat server.xml to 400 >> and >> >> tried the >> >> >> >> > same testplan again..but few sample requests gets failed >> and >> >> throws >> >> >> >> > exception. >> >> >> >> > what should I do to solve the problem. >> >> >> >> > >> >> >> >> > Exception:- >> >> >> >> > >> >> >> >> > java.net.ConnectException: Connection refused: connect >> >> >> >> > at java.net.PlainSocketImpl.socketConnect(Native Method) >> >> >> >> > at >> >> java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) >> >> >> >> > at >> >> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) >> >> >> >> > at >> >> java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) >> >> >> >> > at java.net.Socket.connect(Socket.java:519) >> >> >> >> > at java.net.Socket.connect(Socket.java:469) >> >> >> >> > at >> sun.net.NetworkClient.doConnect(NetworkClient.java:157) >> >> >> >> > at >> >> sun.net.www.http.HttpClient.openServer(HttpClient.java:382) >> >> >> >> > at >> >> sun.net.www.http.HttpClient.openServer(HttpClient.java:494) >> >> >> >> > at >> sun.net.www.http.HttpClient.<init>(HttpClient.java:231) >> >> >> >> > at sun.net.www.http.HttpClient.New(HttpClient.java:304) >> >> >> >> > at sun.net.www.http.HttpClient.New(HttpClient.java:316) >> >> >> >> > at >> >> >> >> > >> >> >> >> >> >> >> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:817) >> >> >> >> > at >> >> >> >> > >> >> >> >> >> >> >> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:769) >> >> >> >> > at >> >> >> >> > >> >> >> >> >> >> >> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:694) >> >> >> >> > at >> >> >> >> > >> >> >> >> >> >> >> org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSampler.java:431) >> >> >> >> > at >> >> >> >> > >> >> >> >> >> >> >> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1021) >> >> >> >> > at >> >> >> >> > >> >> >> >> >> >> >> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1007) >> >> >> >> > at >> >> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290) >> >> >> >> > at java.lang.Thread.run(Thread.java:595) >> >> >> >> > >> >> >> >> > Thanks >> >> >> >> > Maumita >> >> >> >> > >> >> >> >> > >> >> >> >> > On Fri, Sep 11, 2009 at 3:07 PM, sebb <[email protected]> >> wrote: >> >> >> >> > >> >> >> >> >> On 11/09/2009, Mytho Logic <[email protected]> >> wrote: >> >> >> >> >> > Hi, >> >> >> >> >> > >> >> >> >> >> > In tomcat server.xml, I changed the maxtheads limit to >> 300 >> >> and kept >> >> >> >> >> > JAVA_OPTS=-Xms512m -Xmx1024m >> >> >> >> >> > >> >> >> >> >> > But not succeed.I am getting same >> >> "java.net.ConnectException: >> >> >> >> Connection >> >> >> >> >> > refused: connect" exception. Am I missing anything to >> >> change in >> >> >> >> >> server.xml >> >> >> >> >> > file. >> >> >> >> >> > The machine on which tomcat server is running has 2 GB >> RAM. >> >> >> >> >> > >> >> >> >> >> > Please help on this. >> >> >> >> >> >> >> >> >> >> This appears to be a Tomcat configuaration issue. >> >> >> >> >> >> >> >> >> >> Read the Tomcat documentation carefully, and if that does >> not >> >> answer >> >> >> >> >> your query, then post a question on the Tomcat user list. >> >> >> >> >> >> >> >> >> >> > Thanks >> >> >> >> >> > Maumita >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > On Fri, Sep 11, 2009 at 10:15 AM, Deepak Shetty >> >> <[email protected]> >> >> >> >> >> wrote: >> >> >> >> >> > >> >> >> >> >> > > Hi >> >> >> >> >> > > >> http://tomcat.apache.org/tomcat-5.5-doc/config/http.html >> >> >> >> >> > > There are three thread related properties in >> server.xml . >> >> You seem >> >> >> >> to >> >> >> >> >> have >> >> >> >> >> > > run into maxThreads limit >> >> >> >> >> > > Note that if your server cant handle the load that is >> a >> >> server/OS >> >> >> >> >> problem , >> >> >> >> >> > > you are more likely to get help on a tomcat forum. >> Jmeter >> >> is >> >> >> >> >> generating the >> >> >> >> >> > > load correctly. >> >> >> >> >> > > regards >> >> >> >> >> > > deepak >> >> >> >> >> > > >> >> >> >> >> > > On Thu, Sep 10, 2009 at 9:38 PM, Mytho Logic < >> >> >> >> >> [email protected] >> >> >> >> >> > > >wrote: >> >> >> >> >> > > >> >> >> >> >> > > > Hi, >> >> >> >> >> > > > >> >> >> >> >> > > > I am using jmeter version 2.3.2. >> >> >> >> >> > > > To test my application for 200 concurrent users I >> have >> >> used >> >> >> >> >> distibuted >> >> >> >> >> > > > testing set up. >> >> >> >> >> > > > It works fine for 200 users. >> >> >> >> >> > > > The test plan was - >> >> >> >> >> > > > 1. 200 concurrent users will first hit the home >> page >> >> >> >> >> > > > 2. After that 200 concurrent users will hit the >> >> products page >> >> >> >> >> > > > 3. After that 200 concurrent users will hit the >> product >> >> Detail >> >> >> >> page >> >> >> >> >> > > > >> >> >> >> >> > > > For concurrent user setup I have used >> 'Synchronizing >> >> Timer' above >> >> >> >> >> the >> >> >> >> >> > > > thread >> >> >> >> >> > > > groups and mentioned 200. >> >> >> >> >> > > > It works fine and I got the result. >> >> >> >> >> > > > >> >> >> >> >> > > > Setup:- >> >> >> >> >> > > > >> >> >> >> >> > > > Tomcat server, Jmeter client and Jmeter server all >> are >> >> in 3 >> >> >> >> >> different >> >> >> >> >> > > > machine. >> >> >> >> >> > > > >> >> >> >> >> > > > Tomcat Server >> >> >> >> >> > > > ------------- >> >> >> >> >> > > > JAVA_OPTS=-Xms1024m -Xmx1024m >> >> >> >> >> > > > >> >> >> >> >> > > > Jmeter Client >> >> >> >> >> > > > ------------- >> >> >> >> >> > > > HEAP=-Xms512m -Xmx1024m >> >> >> >> >> > > > >> >> >> >> >> > > > Jmeter Server >> >> >> >> >> > > > ------------- >> >> >> >> >> > > > HEAP=-Xms512m -Xmx4096m >> >> >> >> >> > > > >> >> >> >> >> > > > Using the same configuration and same setup,when i >> >> tried for 220 >> >> >> >> >> > > concurrent >> >> >> >> >> > > > users for few few sample requests I got >> >> >> >> >> > > > "java.net.ConnectException: Connection refused: >> >> connect: >> >> >> >> exception. >> >> >> >> >> > > > Sometime I succeded for 220 concurrent users >> without >> >> any >> >> >> >> errors.But >> >> >> >> >> next >> >> >> >> >> > > > time whne I again run the test plan for >> >> >> >> >> > > > 220 concurrent users I got exception. >> >> >> >> >> > > > >> >> >> >> >> > > > What is the reason behind this exception and how >> can I >> >> solve >> >> >> >> this? >> >> >> >> >> > > > I need to load my application upto 500 concurrent >> >> users. Please >> >> >> >> >> suggesst >> >> >> >> >> > > > how >> >> >> >> >> > > > can I do this? >> >> >> >> >> > > > >> >> >> >> >> > > > This is an urgent requirement. >> >> >> >> >> > > > >> >> >> >> >> > > > Thanks >> >> >> >> >> > > > Maumita >> >> >> >> >> > > > >> >> >> >> >> > > >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> >> >> To unsubscribe, e-mail: >> >> [email protected] >> >> >> >> >> For additional commands, e-mail: >> >> [email protected] >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> >> To unsubscribe, e-mail: >> >> [email protected] >> >> >> >> For additional commands, e-mail: >> >> [email protected] >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> To unsubscribe, e-mail: >> [email protected] >> >> >> For additional commands, e-mail: >> [email protected] >> >> >> >> >> >> >> >> > >> >> > >> --------------------------------------------------------------------- >> >> > To unsubscribe, e-mail: [email protected] >> >> > For additional commands, e-mail: >> [email protected] >> >> > >> >> > >> >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [email protected] >> >> For additional commands, e-mail: [email protected] >> >> >> >> >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [email protected] >> > For additional commands, e-mail: [email protected] >> > >> > >> > >> >> -- >> >> View this message in context: >> http://www.nabble.com/Need-help-to-load-application-using-500-concurrent-users-tp25394934p25409633.html >> Sent from the JMeter - User mailing list archive at Nabble.com. >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > -- View this message in context: http://www.nabble.com/Need-help-to-load-application-using-500-concurrent-users-tp25394934p25412002.html Sent from the JMeter - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

