什么语言做网站简单,网络营销与直播电商专业,蛋糕网站模版,网页设计总结5000字目录#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结#xff08;尾部小惊喜#xff09; 前言
1、概述
性能测试… 目录导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜 前言
1、概述
性能测试按照不同视角可以分为以下几类
1 用户视角的性能 用户角度感受到的网站响应速度的快和慢。从用户在浏览器输入网址/打开应用到整个页面呈现给用户的耗时。包含了用户端发送请求服务端收到并执行请求返回请求客户端收到之后渲染的总时间。
2开发人员视角的性能 包括系统吞吐量并发处理能力系统稳定性响应延迟等。如果发现有不满足要求的地方需要定位出问题所在并给出解决方案。
3运维 主要关注基础设施性能和资源利用率如网络运营商带宽能力服务器应急配置数据中心网络架构服务器和网络带宽的资源利用率等。
2、为什么要做接口压力测试
清楚自己所提供的接口性能是多少 判断出系统可能存在的问题代码DBcache系统配置,容量等提前解决 为设置接口的限流/熔断做参考
3、接口压力测试的局限性
接口压力测试只注重单业务的接口性能进行压测的时候只关注个别接口的性能。
接口大部分时间是在线下进行可能线上线下机器配置不一样而且线上同时在进行着各种不同的业务。 因此在线下进行接口压力测试的结果只能作为线上配置的一个参考值。
4、谁来做接口压力测试
对接口比较熟悉的开发人员来做这样有以下好处 对接口实现比较了解对接口中潜在的问题有一定的预判 比较容易对接口进行优化业务逻辑层面和技术层面。
5、如何做接口压力测试
通常使用 Jmeter loadRunner 等进行压力测试。
6、如何设计接口压力测试方案
如何确定并发数 可以通过尝试的方式。第一次压测的时候可以设置自己预期接口需要达到的并发数进行压力测试。然后通过二分法进行调整。
举例如果期望的并发数是512 第一次压测并发数设置为512 如果系统没有压力第二次并发就尝试设置为1024。如果系统有压力下次就设置为256。通过逐渐尝试的方式找出当前接口的并发阈值。
如何确定总请求次数 有时候单纯的通过并发数并不能完全发现系统的压力状况因为并发数只能测出系统的处理能力。
但是有时随着长时间的调用系统可能会出现其他问题。比如随着数据量的增多存储磁盘满了、内存缓存用光缓存服务使用磁盘缓存而拖慢系统等情况。
为了避免这种情况可以尝试用现有线上业务每天产生的数量乘以一定的天数天数的大小视业务的具体情况而定推荐180天以上作为接口压力测试的总请求次数。
接口压力测试数据的选取 通常随机选择数据。但是要注意重复进行压力测试对性能的影响。
比如第一次压测的 Id 是从2500W 到2600W 之间选择的下次用同样的 Id 范围做压测的时候如果接口实现中有缓存则会很大程度影响压力测试的结果对压力测试的解读时候要考虑到这个因素。
另外使用不存在的 Id 去进行压测结果并没有太大意义。
7、如何解读压力测试的结果
对于接口压力测试结果 关注 响应时间是否符合要求响应时间前99% 是不是在可允许的范围内。最大值是多少是否可以容忍。 通常来说错误百分比应该为0。
对于服务器压力 看 cpu 使用率是否在可接受范围内jvm 堆大小是否变化频繁是否有 fullGC。Young GC 耗时CPU load值是否在可接受范围内。 响应时长图是否平滑如果有毛刺现象需要找出原因。
8、如何根据测试结果定位性能问题
1响应时间不符合要求 通过 pinpoint 观察调用链找出耗时比较长的步骤进行优化
2并发数达不到要求可以从以下几个方面进行考虑 a 是否发生系统依赖资源争用比如数据库连接业务处理线程数等 b 业务流程/代码性能是否可以优化 c 在运行的过程中是否频繁 GC
3CPU 使用率过高 a 在运行的过程中是否频繁 GC b是否发生过多的线程切换 c 程序中是否有比较耗 cpu 的代码
cpu 内存 磁盘 io 网络 io 服务器 top 命令 vmstat pidstat / iostat sar jvm java mission Control 工具 jmap 命令,结合eclipse mat 工具进行分析 全链路pinpoint
9、修复性能问题
除了只可能在极端压力测试情况下会发生的性能问题并且修复代价过大的问题可以不进行修复但是要在压力测试报告中体现出来此问题以及解决方案其他问题都必须进行修复。
10、其他
如果没有专门的接口压力测试环境记得做完接口压力测试之后将测试数据清除(缓存数据库消息中间件中未消费完毕的消息 等)。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图
一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜
勇敢地面对挑战坚定地追求梦想努力奋斗不止成功的路上没有捷径唯有坚持和努力才能书写属于自己的辉煌。
每一次努力都是自己的投资勇敢面对困难坚定追逐梦想不放弃、不停歇才能成就辉煌人生让青春绽放出最耀眼的光芒。
在逆境中磨砺意志在挫折中坚定前行每一份努力都是成长的印记只有坚持不懈才能绽放出生命最美丽的花朵让梦想的火焰点亮前行的路途。