springjmeterload-testing

Jmeter killed without any error notification within Amazon instance


I am running a Jmeter load test for my application. I can successfully run the test to login-search-logout for 500 users with a ramp-up of 150. I am unable to run a test for any higher number of users ( 800 users with 240 ramp-up or 1000 with 300) I tried increasing the ramp-up time too. I dont see any system errors nor do I see any connection pool errors. Even Jmeter log looks normal. However, my test gets killed after a number of users is reached ( for 800 user, the test kill at 800 ). Any suggestions as to what I can check for? Thank you


Solution

  • As mentioned by CodeChimp and tried by you already, first to check is the heap size. And also verify with lesser number of users.

    You could also try to start two jmeter instances (probably with different user id range?) instead of one.

    If the problem still persists, there could be two possibilities: 1. Unable to send so many requests from client side. 2. Server(being tested) is unable to handle that many requests.

    To verify if the problem is with client:

    1. Check the ulimit value on the amazon instance. "ulimit -a". Specifically, check if the nproc value (ulimit -n) is higher than the max number of threads(users) you are trying to connect from the amazon instance.
    2. Check if the client has ramped up the required number of users: (In the case of jmeter, the number of threads is same as number of users.) ps uH p | wc -l (This should be equal to the number of users you have given in the script)
    3. The jmeter script itself might be logging out the users by the time other users are ramped up. Better to verify by running the thread group in a loop. (May be loop forever?).
    4. Make sure your script is configured to "continue" after an error occurs. I think this can be configured at thread group level.