10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

性能测试-内存瓶颈

1、查看利用率(free)
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。

所以空闲内存=free+buffers+cached=total-used

2、查看页交换,swap交换(pi、po、so、si),磁盘IO(vmstat)
si:每秒从交换区写到内存的大小
so:每秒写入交换区的内存大小
page in:分页(Page)从磁盘重新回到内存的过程被称作Page-In
page out:分页(Page)写入磁盘的过程被称作Page-Out

另外在进行页交换的时候,会产生磁盘IO,还需注意bi,bo
Bo 磁盘块页面从内存到文件或交换设备的总额
Bi 磁盘块页面从文件或交换设备到内存的总额

vmstat命令:

21

si:交换内存使用,由磁盘调入内存
so:交换内存使用,由内存调入磁盘

sar命令:
sar -W 10 3

22

pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量

vmstat -s 查看 paged in/out 数量:

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第1张图片

3、page fault(pidstat -r,sar -B )
minflt/s:每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数

majflt/s:每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生

其中sar -B中fault/s表示每秒钟minflt,majflt的和。

pidstat -r命令:

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第2张图片

说明:
PID:进程标识符
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:常驻集合大小,非交换区五里内存使用KB
%MEM:进程当前使用的物理内存百分比
Command:task命令名

sar -B 命令:

25

说明:
pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s:每秒钟产生的主缺页数
pgfree/s:每秒被放入空闲队列中的页个数
pgscank/s:每秒被kswapd扫描的页个数
pgscand/s:每秒直接被扫描的页个数
pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数
%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

小结

监控虚拟内存性能由以下几个部分组成:

当系统中出现较少的页错误,获得最好的响应时间,是因为memory caches(译注:内存高速缓存)比disk caches更快(译注:磁盘高速缓存)

较少的空闲内存,是件好事情,那意味着缓存的使用更有效率,除非在不断的写入swap device和disk。

如果系统不断报告,swap device总是繁忙中,那就意味着内存已经不足,需要升级了。

zee:
如果用做缓冲区(buff)和快速缓存(Cache)的物理内存不断地增加,而空闲的物理内存(free)不断地减少,证明系统中运行的进程正在不断地消耗物理内存。

已经使用的虚拟内存(swpd)不断增加,而且存在着大量的页面交换(si和so),证明物理内存已经不能满足系统需求,系统必须把物理内存的页面交换到磁盘中去。

由此可以得到这样的结论:该主机上的物理内存已经不能满足系统运行的需要,内存已成为该系统性能的一个瓶颈。

PS:对于java程序,内存瓶颈可以通过heap dump后使用mat分析

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第3张图片

二、接口自动化项目实战

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第4张图片

三、Web自动化项目实战

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第5张图片

四、App自动化项目实战

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第6张图片

五、一线大厂简历

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第7张图片

六、测试开发DevOps体系

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第8张图片

七、常用自动化测试工具

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第9张图片

八、JMeter性能测试

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)_第10张图片

九、总结(尾部小惊喜)

不要等待成功的到来,而是努力去追逐它;不要沉溺于过去的失败,而是勇敢迎接未来的挑战;相信自己的能力,坚持不懈,才能书写属于自己的辉煌篇章。

只有敢于追求,才能拥抱辉煌;只有坚持奋斗,才能书写人生的壮丽篇章。无论前路崎岖与否,努力不懈,终将驶向成功的彼岸。相信自己,勇往直前,你就能创造属于自己的辉煌!

只有拼尽全力,才能创造出无限可能;只有奋斗不息,才能迎接成功的喜悦;只有勇往直前,才能书写属于自己的辉煌篇章。相信自己,为梦想努力,未来必将闪耀光芒!

你可能感兴趣的:(软件测试,压力测试,性能测试,软件测试,软件测试工程师,性能测试,jmeter性能测试,压力测试,测试工具,负载测试)