There are few modules in our application whose performance degrade with time when 50-100 simultaneous users are working on them at a given instance.
The memory allocations are taken care of to allow maximum data.
My issue to where to start finding the root cause.
I am currenlty using JvisualVM for profiling and finding memory leaks
Do i need to Simualte 50-100 virtual users and start finding the memory leaks with JvisualVM or working with a single user would do ?
You likely don't need 50 users, but you might need more than one. Start with one user though and see if you have a memory leak there. If so, fix it and repeat. If not, ramp up to two or five users.