产品体验中心 下载与支持 产品社区 合作代理 |  咨询电话:400-035-7887/021-6072 5088
当前位置:泽众软件测试网- 技术文章 -正文

高并发系统性能测试之性能调优和优化策略

发布时间:2020-07-23

高并发系统的优化一直以来都是一个很重要的问题,今天小编和大家聊聊高并发系统的一些性能调优和优化策略。

并发测试

系统性能的关键指标

吞吐量(Throughput) 系统单位时间内处理任务的数量;

延迟(Latency) 系统对单个任务的平均响应时间;

一般来说,考量一个系统的性能主要看这两个指标。而这两个指标之间又存在着一些联系:对于指定的系统来说,系统的吞吐量越大,处理的请求越多,服务器就越繁忙,响应速度就会慢下来;而延迟越低的系统,能够承载的吞吐量也相应的更高一些。

一方面,我们需要提高系统的吞吐量,以便服务更多的用户,另一方面我们需要将延迟控制在合理的范围内,以保证服务质量。

系统性能测试

业务场景

对于不同的业务系统,可以接受的延迟(Latency)也有所不同,例如邮件服务可以忍受的延迟显然要比Web服务高得多,所以首先我们需要根据业务场景的不同来定义理想的Latency值。

测试工具

我们需要一个能够制造高吞吐的工具来测试系统的性能,PerformanceRunner是国内领先的支持http、https、websocket、tcp/ip、MQ等各种协议、10万+海量并发、精准可靠的性能测试工具,极大地降低了应用系统运行风险。

测试流程

测试的过程中需要不断加大吞吐量,同时注意观察服务端的负载,如果负载没有问题,那就观察延迟。一般这个过程需要反复很多次才能测出系统的极限值,而每次测试消耗的时间也比较长,需要耐心一些。

通用的系统参数调优

Linux内核默认的参数考虑的是最通用的场景,不能够满足高并发系统的需求。

内存:对于单个Socket连接来说消耗内存不多,但是几万甚至几十万个连接叠加起来就非常可观了,配置不当会导致压测端内存成为瓶颈。

网络:有时候为了避免网络拥塞,需要限制压测客户机的带宽,使流量以比较平滑的速率发送和接收。

定位系统性能瓶颈:当系统吞吐和延迟上不去时,首先需要定位问题,而不是急于修改代码。常见的性能瓶颈包括CPU/内存/磁盘IO/网络带宽等,其中每一项都有一到多个简单实用的工具: 对于CPU和内存,我们只要使用top就可以了;对于磁盘IO,可以用iotop或iostat;对于网络带宽,可以使用iftop。

如果依然没能定位到问题,可能系统配置不当,参考通用的系统参数调优。最后检查代码是否有单点瓶颈,例如程序被阻塞了:在笔者实测过程中,发现每个用户创建会话进程都需要对同一个supervisor发起同步请求,同时登录的用户数量很大时,这些同步请求会排队,甚至引发超时。

以上就是小编收集的做压力测试时遇到的一些问题以及应对办法,鉴于笔者水平有限,错漏难免。

更多并发测试推荐阅读:

如何开展数据库系统的性能需求分析?如何制定数据库能力评估模型?

带您理解解负载测试怎么做及负载测试工具

如何做接口压力测试?压力测试报告应该包含哪些结果?

全链路性能需求分析的要点是什么?和传统线下性能测试有什么区别

软件测试中服务器稳定性测试方法有哪些?

性能测试和并发压力的关系 性能测试中怎么设置并发数?

如何进行压力测试和并发测试?性能测试工具PR使用特点介绍

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。
沪ICP备07036474号 2003-2024 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨询

添加客服微信 欢迎咨询测试工具和测试服务

微信客服
问题
反馈
产品
画册

扫描二维码下载泽众软件企业宣传册

产品画册
返回
顶部

方案咨询

×
提交信息

电话咨询,400-035-7887,安排专业技术售前给您解答(产品试用、技术交流、服务咨询和商务报价)。

您的信息已成功提交!

我们的客服人员稍后会与您联系