效能測試流程 (2)

這些是我根據"Improving .NET Application Performance and Scalability"的內容, 整理出在需求收集階段, 大概要做的事情. 之後還要跟同事討論一下是否還要加什麼.

Step 1: Identify key scenarios
A. Scenarios are anticipated user paths that generally incorporate multiple application activities
B. Scenarios are those for which
    # Have specific performance goals
    # Have a significant  performance impact (common executed or resource intensive)
C. Example (for books.com)
    # Log on to the application
    # Browse a product catalog
    # Search for a specific product
    # Add items to the shopping cart
    # Validate credit card details and place an order

Step 2: Identify Workload
A. Identity the performance characteristics or workload associated with each of the defined scenarios
B. For each scenarios you must identify the following:
    # Number of users: The total number of concurrent and simultaneous users who access the application in a given time frame
    # Rate of requests: The requests received from the concurrent load of users per unit time
    # Pattern of requests:
        A given load of concurrent users may be performing different tasks using the application
        Pattern of requests identify the average load of users, and rate of requests for a given functionality of an application

Step 3: Identify Metrics
A. Identify the metrics that you need to measure when you run your tests
B. As you progress through multiple iterations of the tests, you can add metrics based upon your analysis of previous test cycles
C. You can monitor metrics under the following categories
    # Network-specific metrics (routers, switches, and gateways…)
    # System-related metrics(CPU, memory, disk I/O,network I/O…)
    # Platform-specific metrics (.NET common language runtime, ASP .NET –related metrics)
    # Application-specific metrics : use custom performance counter inserted in your application code to monitor AP health and identify performance issues
    # Service level metrics: measure overall AP throughput and latency, or they might be tied to specific business scenarios

Note:
Some questions to help you determine the workload
A. What are your key scenarios?
- Identify the scenarios that are critical for your application from a performance perspective.
- You should capture these scenarios as a part of the requirements analysis performed in the very early stages of your application development life cycle.

B. What is the maximum expected number of users logged in to your application?
- Simultaneous users are users who have active connections to the same Web site.

C. What is the possible set of actions that a user can perform?
- This depends upon the actions a user can perform when he or she is logged into the application.

D. What are the various user profiles for the application?
- You can group together the various types of users and the actions they perform.

E. What is the average think time between requests?
- Think time is the time spent by the user between two consecutive requests.

F. What is the expected user profile mix?
- The usage pattern for each scenario gives an idea in a given time frame of the percentage mix of business actions performed by users.

G. What is the duration for which the test needs to be executed?
- The test duration depends on the workload pattern for your application and may range from 20 minutes to as long as a week.

Reference: Improving .NET Application Performance and Scalability, Microsoft Press
Chapter 16. Testing .NET Application Performance

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(2) 人氣()