性能的核心

性能的核心- 多快好省

 

省资源 ,省内存,省容量

 性能测试第一点: 说明软件硬件的环境,设定环境,硬件内存CPU网络带宽配置,软件版本

 

 性能测试第二点: 需要一定量的负载压力,使用线程模拟大量的用户去跑,或者通过工具jmter湖泊Loadruner去跑

 

 性能测试第三点: 监听系统的正确性,保证数据正确性的同时还要快,光处理请求快无意义,不是说你接到请求不处理就扔掉,那肯定快

 

性能测试的目的:性能测试除了获取性能指标外,更多的是为了发现性能瓶颈和性能问题,然后针对性能问题和性能瓶颈进行分析和调优!

好(正确性) 成功率(好)  稳定性(好)

快(响应时间)

多(吞吐量) - 同时有多少人访问

 

关键术语

 

1.正常负载指相关方需求他们觉得这个指标没有问题那就没问题,如果他们不知道呢?我们就需要探索性能的瓶颈

使资源的利用率处于正常水平?(1.需求:如果用户要求这个CPU,这个内存,这个网络带宽,ok那按需求来.2.如果没有需求呢?)

正常CPU需要低于80%,内存低于80%,磁盘占比低于85%(考虑写日志), 网络带宽使用率低于80%(吞吐量考虑进来多少数据量,出去多少数据量)

负载测试:慢慢逐步不断加压,看状态的变化,同时寻找出性能的拐点

压力测试:也叫极限测试,高负载下的性能测试,看看系统在高压力下是否会出现崩溃的现象

稳定性测试(12小时, 7天) 看这个系统的稳定性,因为系统有些东西是一点点累加的,比如打日志信息,代码写的有问题(内存泄漏一点点泄漏完了),文件句柄用完了(一直打开文件,写入也不关闭)

 

什么时候需要做性能

 

并发用户数

 

 并发用户类型划分

  系统用户数:占用数据库的空间,变相来看消耗磁盘的容量,模拟磁盘还有一点点空间,查看后台是否会告警

  在线用户数:占用内存,系统需要用session来保持会话,用户的在线状态,比如用户不断的上线,早期的12306买票,一点付钱让我重新登录,我被别人挤出来了,我的信息被session库踢掉了,考虑系统同时可以在线多少用户量,开发是否要考虑设置session的超时时间

  并发用户数:占用CPU,CPU处理并发用户数

内存和磁盘的区别:

  内存的处理速度是磁盘的百倍以上,内存关机之后,数据就会被垃圾回收掉

  磁盘的数据是永久保存

 

 

 

吞吐量

 

 如何理解TPS?

 

 比如用户购买商品,首先会发送一个请求到前端页面,前端页面会发送到后端服务器去处理订单,然后去数据库查看库存,查看积分,查看完后返回到前端,用户这一整套操作叫做事务,叫1个TPS

吞吐量是一个总量:跟时间有关系,比如1小时有多少吞吐量,1分钟有多少吞吐量

 

TPS和响应时间的关系

通常来说TPS越高响应的时间就越慢,TPS到达一个性能的拐点会逐步下降

 

 

响应时间

 

 A开头叫服务器处理时间,N开头的叫网络传输时间,如果web服务器和数据库在同一台机器上就没有网络传输的时间

 

 

 我们可以ping一下单纯看下客户端-->服务器的时间,来推算出哪一块的响应时间叫慢,到底是网络传输占用大,还是处理查询时间消耗大,网络传输占用较小,通过

Wireshark 抓包来看到底哪里处理时间较慢

Wireshark 和fiddler区别:

  fiddler只能抓http和https协议

  wireshark可以抓市面上所有的协议

 

 

资源使用率

 

 

 

 思考时间 - 模拟真实用户操作

jmter有个固定定时器

 

 

 并发用户数与业务场景

 

posted @ 2022-10-24 22:31  断浪狂刀忆年少  阅读(102)  评论(0编辑  收藏  举报