<

Question 118


4.3.2 Question

Multiple Choice

Your ASP.NET MVC web application has just been released to a group of pilot users. The users are reporting periods of extreme performance degradation. You did not encounter performance issues during development or the quality assurance phase. What can you do in your development environment to understand what is occurring in the production environment?

  • A. Create a set of unit tests that repeatedly test certain parts of the application. Run them continuously over a period of time to ensure that the application works as expected.
  • B. Create a set of web tests that exercise the application. Set a run load of 50 percent of your pilot users and run them in a constant load testing process to validate the application’s behavior.
  • C. Create a set of web tests that exercise the application. Using a step approach, start with a minimal number of users and increase to the total number of users in the pilot program.
  • D. Create a set of web tests that exercise the application. Using a goal-based approach, set the process to run to 75 percent CPU utilization. When you reach that point, compare the results with the number of users in the pilot program.

Answer:

C
Explanation
A. Incorrect: Unit tests are designed to ensure that the functionality and logic of the application are correct. They do not work well when you need a performance-based analysis.
B. Incorrect: Although this test will provide some useful and interesting information, running a constant load of 50 percent might not give you the information you need. More users could use the application at any point in time.
C. Correct: Starting from a midlevel count of users and then increasing to the total number of possible numbers should give you an idea of what is happening during the day-to-day running of the application in production.
D. Incorrect: Understanding the number of users required to reach 75 percent utilization of the CPU might be interesting, but it does not help you understand the users’ issue. They might be experiencing slowness due to memory utilization or threading contention that this approach will not be able to detect.