Performance test learning and performance bottleneck analysis route

      I have been doing performance tests for a year or two, and I have been colliding randomly all the time, learning from the East and the West, and they are all superficial things, and I rarely think about connecting them. Today, I will write a performance test according to my own understanding. At a certain stage, I need to stand at a certain height to look at the problem of performance. 

  Many enterprise recruiters only write performance tests and use LR and jmeter tools. In fact, using jmeter and LR for performance testing is only the first step in performance testing, and it is still far from a real performance testing engineer. I'm still on the way 

  Performance testing requires testing system performance, and the system should naturally include: client; network; server. 

  One: The first is easy and then the difficult. The first is the client performance , which will occupy hard disk space, memory usage, and CPU usage. If it involves download storage, it will involve disk. Of course client performance is no longer the most important thing. Unless it is a single machine, and the client of the C/S architecture. The performance of the client is relatively easy to test. It does not involve concurrency. As long as the program runs, you will see the memory and CPU usage, and it is easy to understand the speed of use. 

  Two: Network environment , the network environment is an important part of connecting the client and the server. If the network bandwidth is not enough, it is difficult to meet the performance requirements even if the server speed is fast, that is, the bridge is very narrow and there are many people who have to cross the bridge. 

  Three: The server environment , as the most important part, the same server must also involve CPU, memory, disk, and of course the swap that we don't want to see. The server performance mentioned here is purely machine performance and does not involve software environment performance. Many junior performance testers don't care about this at all. They just say that it is the bottleneck of server performance, but they do not analyze where the bottleneck is. Server mechanical performance, to be able to analyze the mechanical performance of the machine, it is necessary to understand some influences between CPU, memory, and disk. Let's talk about it layer by layer: 

  cpu: central processing unit, it is generally understood that most of the time it directly operates the data in the memory. Whether it is the CPU performance bottleneck depends on the CPU usage and queue length. If the CPU usage is high, the CPU is bottlenecked, the CPU usage is not high, the queue is long, and the CPU is blocked, you need to analyze the reasons in detail (the analysis will be added later). CPU usage is not high and queues are not long. non-CPU bottleneck 

  Memory: High usage bottleneck, not high non-bottleneck. Not to mention the disk: the disk is a much slower storage space than the memory. It can be said that the memory is very fast and the disks can also be analyzed with each other: 

  The CPU is very good, the memory is very large and the performance must be good. The CPU is average, the memory is large, the CPU is bottlenecked, and the CPU is too busy to deal with many things. 

  The CPU is very good, the memory is average, the memory is a bottleneck, the CPU is waiting to process transactions, and the memory may not provide so many transactions 

  Let's write so much first, I'm a little sleepy, and then I will add the impact of the network environment, software environment, and database on performance, and analyze the performance bottleneck through a case. I am also learning.

​​​If you
have any questions, welcome to add QQ group test entry God 755431660 to learn together ~

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324959130&siteId=291194637