Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

[10:40:42 CST(-0600)] <dd> i start to see these errors around 50

[10:41:05 CST(-0600)] <EricDalquist> how many connection threads is tomcat setup to use?

[10:41:11 CST(-0600)] <EricDalquist> perhaps you're running out of tomcat resources?

[10:41:56 CST(-0600)] <dd> i had it just at defaults, then i turned maxThreads and acceptCount up really high to test but that didn't make a difference

[10:42:11 CST(-0600)] <dd> would you mind taking a look at my server.xml?

[10:42:29 CST(-0600)] <EricDalquist> I don't think I'll find much there

[10:42:42 CST(-0600)] <EricDalquist> I'm not really a tomcat admin expert (tongue)

[10:43:50 CST(-0600)] <dd> i've seen a few examples of people's CAS jMeter tests in the wiki, are there any jmeter tests where they test CAS + uportal?

[10:44:07 CST(-0600)] <dd> no problem, here's the file, maybe i have something glaringly wrong: http://pastebin.com/s3sAUMe4

[10:44:50 CST(-0600)] <dd> or are there any tomcat configs in the wiki?

[10:45:01 CST(-0600)] <EricDalquist> honestly I'm not sure (smile)

[10:45:06 CST(-0600)] <EricDalquist> I'd ahve to go search a bit

[10:58:00 CST(-0600)] <drewwills> dd how much pause have you scripted between simulated user actions in your jmeter scripts?

[10:59:34 CST(-0600)] <dd> i have a 5 sec pause when it submits credentials and when it logs out

[10:59:46 CST(-0600)] <dd> turned it down to 3 and no difference

[11:00:06 CST(-0600)] <drewwills> is that all the script does? log in and log out?

[11:00:36 CST(-0600)] <dd> logs in through CAS, gets ticket, goes to uPortal, goes to User preference page, logs out

[11:00:37 CST(-0600)] <drewwills> that's fine of so... just trying to get a picture

[11:01:25 CST(-0600)] <dd> drewwills: could i send you my test to look at? maybe i have something setup incorrectly, this is the first time i've used jmeter

[11:01:29 CST(-0600)] <drewwills> I'd suggest turning it up... try 6-10 sec pauses between any user action

[11:01:56 CST(-0600)] <drewwills> i can look quickly... no guarentee i'd cactch something though

[11:02:08 CST(-0600)] <drewwills> can you sent it to the user list?

[11:04:43 CST(-0600)] <dd> i don't have an account

[11:04:52 CST(-0600)] <dd> i was just going to give you a dropbox url

[11:05:26 CST(-0600)] <drewwills> sure

[11:05:30 CST(-0600)] <dd> https://dl.dropbox.com/u/1922282/test.jmx

[11:06:09 CST(-0600)] <drewwills> EricDalquist i was giving uPortal Platform training at USU last week... whipped up a fix for this on the plane: https://issues.jasig.org/browse/UP-3623

[11:06:19 CST(-0600)] <EricDalquist> great

[11:06:32 CST(-0600)] <drewwills> i was inspired, having just dealt with LDAP settings on like 8 different laptops

[11:07:44 CST(-0600)] <dd> drewwills: i have to run for a meeting but i will be back in ~30mins. thank you for your help

[11:08:20 CST(-0600)] <drewwills> k, i'll look in a few

[12:12:50 CST(-0600)] <dd> back

[12:25:57 CST(-0600)] <drewwills> dd – I think you realistically need a RAMPUP period of some number (i suggest 6) * number of threads

[12:26:32 CST(-0600)] <drewwills> you could try 3*threads as well... but ramping up all your threads in 3 sec is probably too quick

[12:29:22 CST(-0600)] <dd> drewwills: i'll try that, and i should have a constant timer on all user actions?

[12:31:21 CST(-0600)] <drewwills> i'll put it this way – a real user normally wais a number of seconds after getting a response before submitting the next request

[12:31:39 CST(-0600)] <drewwills> just choose a conservative but realistic model for that

[12:32:16 CST(-0600)] <drewwills> if you put zero pauses in, jmeter just hammers the portal as quick as it can, and I know it doesn't take too many threads of that to slow it down

[12:32:45 CST(-0600)] <dd> makes sense

[12:33:16 CST(-0600)] <dd> jmeter does give me connection refused errors sometimes, what tomcat settings does that correlate with?

[12:34:31 CST(-0600)] <drewwills> if all the tomcat request-serving threads fill up... i can't remember, i think there may be a fixed-sized queue after that

[12:34:52 CST(-0600)] <drewwills> but if the threads and the queue get exhausted, it will just start refusing them

[12:35:35 CST(-0600)] <dd> are those the maxThreads and acceptCount settings?

[12:36:05 CST(-0600)] <drewwills> i can't remember, but it sounds right

[12:36:22 CST(-0600)] <drewwills> there's decent docs online for tomcat... i always have to look

[12:37:54 CST(-0600)] <dd> yeah, i think that's what i read. one more question, we're trying to test for a good amount of users (500-750) using the portal at a time, will a large rampup time affect this? give that the whole test sequence doesn't take that long?

[12:38:16 CST(-0600)] <dd> would i need to artificially slow it down somewhere while the thread is still in the portal?

[12:39:11 CST(-0600)] <dd> or is that what looping is for?

[12:39:36 CST(-0600)] <EricDalquist> http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throughput_Timer

[12:39:46 CST(-0600)] <EricDalquist> so what I usually do when testing is:

[12:40:00 CST(-0600)] <EricDalquist> determine desired throughput (requests / second usually)

[12:40:16 CST(-0600)] <EricDalquist> determine desired concurrent user base (number of threads)

[12:40:25 CST(-0600)] <EricDalquist> write the script for what each "user" does

[12:40:55 CST(-0600)] <EricDalquist> setup the thread count of X and ramp up time of X * 5

[12:41:17 CST(-0600)] <EricDalquist> have the test set to run with each thread looping "forever"

[12:41:26 CST(-0600)] <EricDalquist> that constant throughput timer is the key

[12:41:57 CST(-0600)] <EricDalquist> you set that do something like 60 samples/minute with the Calculate Throughput Based on "all active threads (shared)"

[12:42:22 CST(-0600)] <EricDalquist> then your portal will see no more than 1 request / second across all of the threads you have running

[12:42:38 CST(-0600)] <EricDalquist> it of course could be slower than that if the target system can't keep up

[12:42:46 CST(-0600)] <EricDalquist> but the CTT is your throttle

[12:43:06 CST(-0600)] <EricDalquist> and that "all active threads (shared)" setting is crucial

[12:43:14 CST(-0600)] <EricDalquist> otherwise it is per-thread throughput

[12:43:26 CST(-0600)] <EricDalquist> which is really impossible to get a decent repeatable test setup with

[12:43:33 CST(-0600)] <dd> ah, ok. i had that timer in there before but didn't have "all active threads"

[12:44:09 CST(-0600)] <dd> so you have it loop forever until you get errors or have enough data?

[12:44:34 CST(-0600)] <EricDalquist> yup

[12:44:47 CST(-0600)] <EricDalquist> generally we run tests where I'm watcfhing it

[12:45:08 CST(-0600)] <EricDalquist> if I wanted an automated test I'd set the scheduler bit in the thread group control to run for a fixed time

[12:45:13 CST(-0600)] <EricDalquist> so threads still loop forever

[12:45:21 CST(-0600)] <EricDalquist> but the whole test may only run for X minutes

[12:45:30 CST(-0600)] <EricDalquist> and 3-5 seconds per thread on ramp up is really needed

[12:46:54 CST(-0600)] <dd> ok, thank you EricDalquist and drewwills, great places to start, much appreciated