Common knowledge about software system performance

Source: Internet
Author: User

 

No matter whether it is system designers, developers, or testers who want to build a high-performance system, they do not know some common terms about system performance, here we will mainly introduce several terms and calculation methods for software performance indicators, so that they can be targeted in performance optimization and Performance Evaluation:

1.Response time

The response time is the time when the system responds to user requests. The response time is the most intuitive way for the user to feel the system performance. Therefore, it directly shows the system performance. The main factors that affect the system response time are as follows:

1) network transmission time: the time when the request information is sent to the server and the server information is returned to the user is counted as NT

2) Application Server processing time: the server responds to user requests, encapsulates and sends data, and counts as

3) database server processing time: database data operation execution time and return server time. Count as dt

Response time = nt + at + dt. We can see that the response time is affected by multiple factors, both of which have a great influence on the initial data volume, therefore, appropriate initialization data is very important during system development and testing. At the same time, the response time of a single user is usually quite different from that of a concurrent user, and appropriate concurrent users are also necessary.

2.Concurrent users

1) number of system users: the number of users rated by the system. If the total number of users using the system in a system is 20 thousand, the number is the number of system users.

2) number of simultaneous online users: the maximum number of simultaneous online users within a certain period of time, that is, the number of peak online users.

3) calculation of the average number of concurrent users: c = NL/t, where C indicates the average number of concurrent users, and N indicates the average number of daily users, L indicates the average time (average operation time) from logon to exit of a user in a day, and t indicates the length of time (how long does the user use the system in a day ).

4) Calculate the peak number of concurrent users: C ^ is about equal to C + 3 * C, where C ^ is the peak number of concurrent users and C is the average number of concurrent users. This formula follows the Poisson distribution theory.

Through the above formula, we can calculate the average number of concurrent users and the concurrency peak that the system should be able to withstand. During system architecture design, development, and testing, ensure that the system performance meets user requirements during peak concurrency.

3.Throughput

System throughput refers to the number of requests processed by the system per unit time.

1) from the business perspective, throughput can be measured by: Number of requests/s, number of pages/s, number of people/day, or number of processed services/hour.

2) from the network perspective, throughput can be measured in bytes/s.

For interactive applications, the throughput indicator reflects the pressure on the server. It can indicate that the system's load capacity is expressed in different ways and the throughput can indicate different levels of problems, for example, the number of bytes per second can indicate bottlenecks in terms of network infrastructure, server architecture, and application server constraints; the number of requests per second is mainly a bottleneck reflected by the application server and application code. When there is no performance bottleneck, there is a certain relationship between the throughput and the number of virtual users. You can use the following formula: F = vu
* R/T, where F indicates the throughput, VU indicates the number of virtual users, r indicates the number of requests sent by each virtual user, and t indicates the time used for performance testing.

In past applications, we have focused more on the byte/second indicators for the system throughput, but this only reflects one aspect of the system throughput. For business operations, F = vu
* R/T makes more sense. This throughput indicator design should be designed and tested at each specific application function level.

4.Thinking time

Think
Time, from the business point of view, this time refers to the time interval between each request when the user performs operations, and in the performance test, in order to simulate such an interval, the concept of thinking time is introduced to simulate user operations more realistically. In the formula of throughput, F = vu
* R/T indicates that the throughput F is a function of the VU quantity, the number of requests sent by each user R, and the time t, here, R can be calculated using time t and user thinking time ts: r = T/
TS. Generally, follow the steps below to calculate the thinking time:

A. Calculate the number of concurrent users in the system: c = NL
/T f = r × C

B. Calculate the average throughput of the system: F = vu
* R/t r × c = VU * R/T

C. Calculate the average number of requests sent by each user: r = u * C * t/vu

D. Calculate the thinking time based on the formula: TS = T/R

 

Generally, the above indicators are only familiar to testers, but if you want to build a high-performance system, at the beginning of the design, these indicators should be written into the design documents as a core non-functional feature of the system and implemented in the development and implementation process, so as to ensure stable system performance. Therefore, system designers, developers, and testers should be very familiar with these indicators.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.