13. 服务端性能测试

说到服务端性能测试就不得不提到上述流程图,言简意赅的概括了性能测试中所需要做到的内容。上面是比较全的指标。但实际工作中的每一次性能测试可能都有一定的侧重点,比如在trace的测试中可能更看重的两个版本之间的性能对比;在redis的测试中更注重的单机的双写qps上限;在函数计算的测试过程中更注重在一定的qps压力系统的稳定性;而在discovery的压测过程中可能更注重的复现线上问题 以及 定位系统瓶颈。

压力测试的过程往往需要反复是比较耗时的过程,因此一定有每次压测的侧重点。而在目前大部分的场景测试中,可能事务的响应时间可能并不作为重点关注的事项。也有可能之前的测试业务在这点上并不关心。

性能指标

在服务端性能测试中通常我们需要关注的指标分为客户端的指标以及服务端指标;

1.客户端也就是我们产生压力的机器;

2.服务端就是我们的测试机器;

在服务端我们需要关注机器的:

1.cpu、mem负载情况;

2.网络链接数占用情况;

3.磁盘的读写;

4.网卡流量吞出等;

更进一步如果我们要做相应的性能分析和优化 可能需要关注 机器上的线程数;gc耗时等。

在性能指标这块,其实整个类别和我们在做移动端的测试情况大底相同。只不过这里的测试进程变成了一个可以对外提供http服务的进程,所以可能需要额外更加关注网络连接的使用;网卡流量的吞吐。

测试流程

测试开始前要确定:

1.梳理待测机器的规格,诸如服务器的cpu核数以及内存大小、缓存集群的大小、消息队列的容量限制

2.梳理压测接口的请求链路,确定链路上哪些是第三方应用,如果涉及第三方调用 可以先提前和第三方进行沟通 明确第三方资源ready;压力可以真实到达我们关注的待测服务。(一般会直接ip调用在内网,移除网关等依赖)

3.明确压测场景,场景中涉及的接口。准备相应的压测脚本以及测试数据。在压测过程中,一般来说测试数据是比较难准备的,尤其是对大QPS,需要百万级别的数据,因此造数也是在压测过程中的关键部分。

4.明确压测终止的条件:是客户端出错;还是某个资源达到60%;还是其他;

5.明确告警、日志等观测组件是否配置ok;便于在压测过程中分析相应的现场

测试过程:

1.从一个基准并发线程数开始压测并持续压测一段时间5-10分钟;观察服务端的请求qps以及系统资源使用情况;并且关注客户端的错误率 以及请求的处理时间tps;保证客户端无错误;

2.然后递增逐渐增

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

进击的测试开发工程师2.0 文章被收录于专栏

本专栏专注于从零到1的接口自动化测试框架开发过程分享、Android端专项测试技术分享,服务端专项测试技术分享 以及 基于开源框架进行二次开发的经验分享

全部评论

相关推荐

一、考察点 测试思维、分层测试思想、接口测试价值认知二、解题思路从早发现 bug、效率高、覆盖全、测底层逻辑、方便自动化、兼容前后端几点说三、参考答案提前发现问题,降低修复成本接口是前后端交互核心,不等前端页面开发完成,就能提前测接口,尽早查出数据错误、逻辑错误,越早改成本越低。绕过页面,直接测底层业务逻辑页面可能做了兼容、隐藏部分规则,接口能直接校验入参、出参、数据库数据、业务流程,测的更深入准确。测试范围更广,覆盖更多异常场景页面操作有限,接口可以随意传非法参数、边界值、异常数据,能测出页面点不出来的隐藏 bug。前后端分离项目必备现在项目大多前后端分离,前端只负责展示,所有业务逻辑都在接口,接口稳了,整体功能才稳。容易实现自动化与回归测试接口脚本稳定,写完可反复执行,版本迭代直接跑接口用例,快速回归,节省大量手工时间。方便排查问题,快速定位 Bug出现功能异常,先调接口就能分清是前端展示问题,还是后端接口数据 / 逻辑问题,定位更快。可提前做性能、压力测试用接口直接压测,提前摸清服务器承载能力,提前发现并发、超时、卡顿等性能隐患。四、精简口述版(面试直接背)第一可以提前测试,不用等页面做完就能测,尽早发现 bug 减少成本;第二能直接校验后端业务逻辑和数据,比页面测试更全面;第三容易做接口自动化,迭代回归效率高;第四方便区分前后端问题,快速定位缺陷;还能提前做性能压测,保障系统稳定性。
点赞 评论 收藏
分享
原题1: 工作有搭 agent,为什么不采用 workflow 或者 prompt+大模型?拆解: 这是整场面试最致命的一题。面试官不是在否定 agent,而是在考你技术选型的决策逻辑——你是否真的理解 agent / workflow / prompt 三种方案的适用边界。• Prompt+大模型:适合单轮、无外部依赖的简单任务。快,成本低,但上限也低• Workflow:适合多步骤但路径确定的流程,可以并行调用不同服务,可控性强• Agent:适合路径不确定、需要自主规划和工具调用的复杂任务,灵活但稳定性差面试官追问「觉得没有必要用 agent,让我说 agent 具体做了什么」——说明你的 agent 场景没能说服他。核心问题是:你无法清晰说出 agent 在这个场景下的不可替代性。如果 workflow 也能做,那你为什么要上 agent?答题框架: ①先承认「这个场景确实可以考虑更轻的方案」②然后说明为什么在这个场景选了 agent(比如说,用户的输入不可预测、需要动态选择工具链)③最后给出 agent 带来了什么 tradeoff(灵活性 vs 稳定性)───原题2: agent 使用弊端拆解: 这题考的是对技术的批判性认知。很多候选人用 agent 只会说好处,说不出弊端=你不懂。agent 的弊端至少四点:1. 稳定性差——自主决策意味着结果不可控,同样的输入可能产生不同输出2. 调试困难——不像 workflow 可以逐节点排查,agent 的黑箱决策链路很难定位问题3. 成本高——多次 LLM 调用+工具调用,token 消耗远高于单次 prompt4. 循环风险——ReAct 模式下可能陷入无限重试关键: 能说出弊端并给出 mitigation 方案才是高分答案。比如「为了解决稳定性问题,我们加了最大步数限制 + 关键节点人工审核 + fallback 到规则兜底」。───原题3: 用过飞书多维表格吗?用过哪些模块的功能?拆解: 不是闲聊。飞书AI产品岗必考题。考的是你对飞书生态的理解深度——多维也表格是飞书 AI 的核心载体之一(数据存储+工作流引擎)。说不出具体模块=没用过=对产品理解停留在表面。建议:投飞书 AI 岗之前,至少把多维表格的公式、自动化、仪表盘、AI 字段这几个核心能力吃透。通过cli发现的不错面经,如有侵权请联系删帖。
查看3道真题和解析
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务