android io压力测试,服务端压力测试分享

本文探讨了压力测试的目的,包括系统性能瓶颈的发现和优化,以及在高并发下的系统稳定性。重点关注了压测指标如TPS、响应时间和错误率,以及服务器资源监控。介绍了压测步骤、场景设计要素,例如并发用户数、接口请求占比和等待时间。通过实例分析了服务器和数据库的性能影响,并提到了Jmeter和Locust等压测工具的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.压测的目的

压力测试是对系统不断施加压力,来获得系统最大服务能力的测试。

一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行压力测试。

目的:

1.当负载逐渐增加时,观察系统各项性能指标的变化情况是否有异常

2.发现系统的性能短板,进行针对性的性能优化

(如:使用 mysql 存储的系统,高并发情况下,数据库读写速度慢,可以考虑增加数据库中间件,加缓存等;使用 redis 存储的系统,通常存储不会制约性能,但在高并发情况下,Redis 的吞吐量非常大,这时候就需要考虑增加网络带宽来提高性能。)

3.系统在高并发情况下是否会报错,进程是否会挂掉

4.测试在系统某个方面达到瓶颈时,系统可以支持的最大负载

二.压测的关注点

压测的指标通常有 tps、响应时间、错误率等,服务器资源监控 cpu、内存、 I/O。

指标的来源:用户对各项指标提出明确需求,如果用户没有提出性能指标则根据用户需求和自己的经验来预估

观察服务器的各种异常情况

1、响应变慢

2、返回 4XX、5XX 错误码

3、服务器无响应

4、服务器 crash 等

三.压测指标

15ca5f10308ca1dab9fdf8e7f76607a8.png

注:并发用户数≠每秒请求数

比如说:在性能测试工具或者脚本中设置了 100 并发用户数后,并不是每秒 100 个请求发给服务器。每秒发出多少请求只跟服务器返回响应的速度有关。如果用户在 50ms 内就收到了响应,那么它会立即发出第二个请求;而如果要一直等待 3 秒才能得到响应,它将会一直等到收到响应后才发出第二个请求。所以,只有当响应时间恰好是 1 秒时,并发用户数才会等于每秒请求数;否则每秒请求数可能大于并发用户数或小于并发用户数。

各项指标关系曲线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值