1. Response Time: the time required for the system to process an external request. These external requests may be user interaction behaviors, such as pressing a button or calling a Server API.
2. responsiveness
Different from processing a request, it is how fast the system responds to the request. This indicator is very important in many systems, because for some systems, if their responsiveness is too slow, users will be unbearable-although their response time may not be slow. If the system remains in the waiting state during request processing, the system's responsiveness and response time are the same. However, if some information is provided to the user before the processing is completed, it indicates that the system has received the request, the response will be better. For example, when you copy a file, providing a "progress bar" will improve the responsiveness of the user interface, but will not increase the response time.
3. Wait time
It is the minimum time for the system to obtain responses in any form, even if the work that should be done does not exist. It is usually a big problem in a remote system. If we let the program do nothing, just call and return, then if we run the program on the local machine, it will usually get a response immediately. However, if you run a program on a remote computer, it may take several seconds to get a response, because the several seconds from sending a request to obtaining a response are mainly used to eliminate the difficulty of online transmission of information. As an application developer, I often have little to do with the wait time. This is why remote calls should be avoided as much as possible.
4.Throughput
Is the amount of requests that can be processed within a given time. If the object is copied, the throughput can be expressed in seconds. For enterprise applications, the throughput is usually measured by transactions per second (TPS). One problem with this method is that the indicators depend on the complexity of transactions. For tests on a specific system, you should select a normal transaction set.
Here, performance, throughput, or response time are determined by the user. After some optimization technology is adopted, the throughput of the system is increased, but the response time is reduced. It is difficult to say that the system performance is improved. It is better to use more accurate terms. From the user perspective, responsiveness is often more important than response time. Therefore, it is worthwhile to sacrifice some response time or throughput to improve responsiveness.
5. Load
It is about the current load of the system. It may be expressed by how many users are connected to the system. The load is sometimes used as the background for other indicators (such as response time. Therefore, we can say that in the case of 10 users, the request response time is 0.5 seconds. In the case of 20 users, the request response time is 2 seconds.
6. Load Sensitivity
It refers to the degree to which the response time changes with the load. Assume that system A is in the range of 10 to 10 ~ In the case of 20 users, the request response time is 0.5 seconds. In the case of 10 users, the request response time of system B is 0.2 seconds. In the case of 20 users, the request response time has increased to 2 seconds. In this case, system A is less sensitive to load than system B. We can also use degradation, which means that system B degrades faster than system.
7. efficiency is the performance divided by resources. If the performance of a dual-CPU system is 30 TPS and the other system has four identical CPUs and the performance is 40 TPS, the former is more efficient than the latter.
8.System capacityIt refers to the indicators of maximum load or throughput. It can be an absolute maximum value.
9.ScalabilityIt measures the impact of adding resources (usually hardware) to the system on system performance. A Scalable System allows reasonable performance improvement after hardware is added. For example, how many servers need to be increased to double the throughput.Vertical scalabilityOrVertical extensionTo improve the performance of a single server, such as increasing the memory.Horizontal scalabilityOrHorizontal scalingGenerally, it refers to increasing the number of servers.