西部网站助手,wordpress有必要用waf,网站开发的实训报告,邢台市seo服务一、什么是性能测试
新功能上线或切换底层数据库或扩容调优#xff0c;根据实际业务场景的需要#xff0c;做必要的性能压测#xff0c;收集性能数据#xff0c;作为上线的基准报告。
性能测试一般分一下几个阶段#xff1a;
1. 性能测试 并发量小#xff08;jmeter 并…一、什么是性能测试
新功能上线或切换底层数据库或扩容调优根据实际业务场景的需要做必要的性能压测收集性能数据作为上线的基准报告。
性能测试一般分一下几个阶段
1. 性能测试 并发量小jmeter 并发线程几十个可以选择 10 个线程系统各资源使用率低接口响应时间端系统整体吞吐低。
2. 负载测试 并发量适中系统各资源已趋于高负载持续观察接口的吞吐量、各资源的负载情况。通过对比个资源负载寻找性能瓶颈。
举几个例子
a. 如果 ECS 负载较高但是数据库负载较低
可能的原因
i. 数据库连接池配置的连接数较小大流量还没到数据库
ii. 各种连接池比如数据库的、http 连接池等及 dubbo 线程池大小。
3. 压力测试
做压力测试的目的主要是观察接口在瞬时大流量过来的情况接口各性能指标的变化来判断接口后端服务及依赖的各中间件是否能承受的住。
二、性能相关的术语
1、事务
用户发送请求-服务器接口请求-服务器从数据库或其他三方服务获取数据-生成服务返回结果-返回用户
2、并发数
系统同时处理的 Request 数
3、响应时间
客户端从发出请求到接收到响应总的耗时时间。
QPSTPS
4、系统每秒处理的 Query/Transcation Request 数
QPS(TPS)并发数/响应时间
1000/s 并发数/0.2s 》并发数800
2000/s 并发数/0.5s 》并发数 1000
三、影响性能压测的因素
1. 压测客户端的并发能力
2. 应用系统
a. 池化资源http connection pool / db connection pool / rabbion
b. 交互数据的大小
c. 逻辑串行逻辑
3. 数据库
4. 中间件redis/kafka 规格及应用使用的参数
三、如何寻找性能瓶颈 1. 首先要清楚请求链路。从压测机上发出到响应请求处理需要经过或依赖哪些服务或中间件同下文的环节方便描述所以链路上各每个环节都可能会成为性能瓶颈点。比如请求接口是走域名访问势必会经过 nginx 转发那么 nginx 也可能会成为性能瓶颈点。
2. 要清楚整条链路上各环节资源配置。做好链路上各环节的资源的监控方便及时发现问题。
3. 寻找性能瓶颈应先从整体到局部排查。首先观察链路上各环节的负载情况如果发现其中一个环节及之后的环节负载都很低那么应该是上游领近的节点处理慢了此时应该重点分析处理慢的节点。待整个链路的各资源服务器、数据库或其他中间件的负载上来了就需要调整环节内部的参数比如数据库连接池、http 连接池、dubbo 线程池及队列等参数寻找最优参数值。
四、性能优化措施
性能测试的目的是为了解系统的性能以此评估上线部署时所需要多大资源才能满足业务需求。在调测的过程中寻找性能瓶颈发现性能问题结合业务场景做优化。
1. 读少写多的数据接受延迟查询的数据可以考虑异步写入。
2. 优化各连接池及队列的大小 参考如何做好性能压测丨压测环境设计和搭建 https://baijiahao.baidu.com/s?id1690639698157730947wfrspiderforpc