3

There is similar question on this topic I participated in it, but it doesn't really answer what I need at this moment.

How to rigorously test a site?

I noticed java.util.ConcurrentModificationException in my server log, so I fixed that one, but I still don't know if this or some other concurrency will ever occur without testing it.

I've tried to create test in jmeter which just does simple GET and simulates 100 users.

The problem :

I retrieve some information from server when page is done loading, so I'm interested in that part(because that part cause this exception before).

But jmeter gets only the page when its loaded, and all ajax pending requests if any are not displayed in the logs. Actually I can't see anything in logs because, jmeter never reaches these ajax calls when document is ready, it exits just before that.

Naturally when I refresh page from browser I can see logs, what exactly is going on on the server side. Is there a some kind of tool, that waits for all pending requests or can stay on the website for n amount of time, or is there a smarter way to test this to avoid further concurrency exceptions.

Community
  • 1
  • 1
ant
  • 22,634
  • 36
  • 132
  • 182

2 Answers2

1

AJAX requests are simple GET requests as well, so you just need to configure JMeter to directly call the servlets which serve them.

Aaron Digulla
  • 321,842
  • 108
  • 597
  • 820
0

If you use Selenium instead of JMeter for your tests, you will spawn real browsers that will perform AJAX request exactly like the real application. Simply because it is the real application that is being run.

The problem is... Selenium is for regression testing and compatibility with browsers, not for raw performance. You can't run more than a few browser per computer. Some companies provide cluster of browserd (up to 5000 and up to 500 000 virtual user for browsermob) that you can rent for your performance campain.

You can also use the desktop computer in your office, let say the night to perform your tests.

I know this might be a little complicated and not be the best solution.

Nicolas Bousquet
  • 3,990
  • 1
  • 16
  • 18