Stress Testing



 

W H A T

  • By the time any software development project nears completion, it likely will have gone through numerous tests, particularly in an Agile Methodology where testing and development happen concurrently. But no matter how many tests you’ve run, once your application is nearly complete, there’s really only one way to know whether or not your software can handle the actual demands your army of end users will soon be placing on it. It’s called load testing.
  • Load testing is the process of putting simulated demand on software, an application or website in a way that tests or demonstrates it’s behavior under given load of user concurrency.

W H Y 

  • Outages:
    —  System is not responding
    —  System goes down
  • Bad user experience
    — Way too slow response in peak hour
    — Response time-out
  • Bad image/brand

W H E N

  • Ideally, somewhere between your UAT and Go Live
  • On being in production system, its okay to do it on UAT environment but later final number concurrent users requires extrapolation to PRD environment.

H O W

  • We mimic your end-user activities including
    — thinking-time
    — randomity of the user actions
  • We load hundreds/thousands/millions concurrent users to your system.
  • We monitor
    — Response times
    — Machine resource utilizations (CPU, RAM, I/0, Networks)
    — SQL Queries waiting time
    — The bottlenecks (node, page, or SQL query)
  • We perform Java/.NET profiling
  • Maximum number concurrent users is bound to
    — Agreed response time 95th percentile
    — Resource utilizations

RESULTS

  • Bottleneck node/resource
  • Top Losers of URL/action/method/function
  • Top Losers of SQL Query
  • Proposed solution to improve system scalability
  • Final conclusion whether your system can handle existing number of end-users.

 White-paper is available to download here.

Feedback and Inquiry

Feel free to drop email to inquiry@naulinovation.com for any feedbacks or inquiries.

 

REFERENCES