服务器压力测试指标


压力测试是对系统不断施加压力,来获得系统最大服务能力的测试。一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行压力测试。

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

压测的指标通常有tps、响应时间、错误率等,服务器资源监控cpu、内存、I/O。指标的来源:用户对各项指标提出明确需求,如果用户没有提出性能指标则根据用户需求和自己的经验来预估。

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

在并发数达到一定的数量后,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等其它消耗导致性能下降。



2.压测中的场景可以理解为功能测试中的用例,合理的场景设计才会更好地发现系统的性能缺陷。



2.需要包含哪些接口请求,各个接口请求的占比是多少?比如,70%的用户在请求获取配置的接口,30%的用户在请求上报结果接口。

台客户机,每台客户机间隔2s上报一次心跳(获取任务),服务端每秒向每个客户端下发一个任务,每个任务执行完成后向服务端上报result和message服务器:lvs6台4核8GLinux数据库:redis、mysql场景分析:共包含3个接口

**数据库:**mysql行锁时间、连接数、从库延时redis连接数、CPU使用率、内存

**优化前:**平均响应时间较长,Tps基本在左右,由于mysql操作占用较高的io,CPU大部分空闲,负载均在1左右。

**原因:**mysql的性能影响了服务的性能,由于mysql经常连到上海、深圳,所以会时慢时快。

**优化后:**tps达到左右,平均响应时间是优化前的二分之一,tps是优化前的二倍。

BeanShellPreProcessor是一个前置处理器,它可以进行一些处理,比如执行一个算法并将结果存储到参数中。

若未指定ramp-upperiod,默认为零,将立即建立所有线程。假设ramp-upperiod设置成T秒,全部线程数设置成N个,将每隔T/N秒建立一个线程。

比如:使用10个线程,ramp-upperiod是100秒,每个线程会在上一个线程启动后10秒(100/10)启动

001定义压力面试指面试时有意制造紧张,面试官有意询问一些让候选人感到有心理压力的问题,以了解候选人将如何面对工作压力。甚至,面试官会通过提出生硬的、不礼貌的问题故意使候选人感…



一、压力测试压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。使用压力测试…