Today, I heard some powerful character on the testhome to talk about the performance test of their special test, because they have also done the performance special test but is on the client PC, now I summarize some of the content he mentioned and some of my own views
Performance specific we focus on which:
1. Focus on resource consumption (CPU, memory, flow, power)
2. Start-Up time (Lengqi, Geixi), (this is also a very cloudy measurement of the use of an indicator)
3. Main Page load time
4. Memory leak, jitter, lag, page rendering (FPS)
Today I also only summarize resource consumption this piece, first talk about CPU
1.cpu
CPU detection We have 3 kinds of situations:
1. In idle time consumption, basically no big application use CPU
2. In the case of running some applications, the CPU has accounted for 50% of the situation, the observation of the application CPU consumption
3. Look at the CPU performance under high load, I define this high load, CPU occupancy should be above 80%
1.1 How to view CPU usage values
Using the command: adb shell dumpsys cpuinfo apk package Name
From what we can see: 6.4% is for this CPU occupancy rate is 6.4%, the red Place 5.2% occupancy rate is the user, 1.1 is the core occupancy rate, this number is only for the 1 core,
Question: Now the cell phone is multi-core, so the value is not too accurate, how to do?
Experience: The general value of this, I in the test, will be more than a few times, averaging
There is too much data, and we can use this command, and the top command, to get a single data
adb shell Dumpsys cpuinfo |grep PackageName
2. Memory Chapter
Memory is similar to the CPU, we get the memory value by multiple acquisition, see if the memory is abnormal, how to obtain the memory value
How to take the memory, with the command 1.adb Shell dumpsys meminfo2.adb Shell meminfo PID phone running speed and memory has a great relationship, I remember the former colleague can study this memory, but also set up a group, it is clear that the water is still very deep, And I also know a little, focus on a few indicators need to understand: VSS, virtual memory, each application when a Java virtual machine, the system will allocate a memory, memory for each operation, so that the size of the control memory, but not greater than the maximum limit, virtual memory disappears, we are more concerned about RSS Physical memory (memory containing shared libraries), the actual memory used by PSS, actual physical memory (proportional allocation shared memory), such as 3 processes, the process consumes should be divided by 3 to indicate that a single USS process is taking up memory in the case of a process beginning with a memory leak. is a program initiated by the virtual memory will be generated, once this program process kill will release the blogger I think it's better to speak, I'm just fur http://blog.csdn.net/bigconvience/article/details/ 35553983n memory to test multiple times using PID view: We are concerned: Heap size is the actual memory heap Alloc: is the actual assigned valuequestion: But you can find out why alloc<size, I still do not understand , they say: The process is using virtual memory, virtual memory is much larger than the physical memory, I do not understand, Memory we can also view the maximum memory limit of his single application adb shell Getprop |grep heapgrowthlimit Another way: We can also use the Procrank tool to view memory values
3. Flow rate
The big God said you can use the ADB shell cat/proc/"+pid+" command to see the number of traffic/net/dev
But I think this is not accurate, the way I get traffic is through the way of grasping the package, in an operation, look at the consumption of traffic, you can use wireshork this tool to help
Probably the above is what he mentioned and his own understanding
Summarize:
There are two ways to do performance testing: 1. Competitor Analysis 2. Version comparison This is one way many companies use today
App Performance Testing