AI性能与稳定性测试面试题
包含 AI 应用压测、响应时延、流式输出、模型服务稳定性与容灾测试面试题。
一、AI性能测试基础
1. AI 应用性能测试和普通 Web 接口性能测试有什么区别?
参考回答: 普通 Web 接口性能测试更多关注 QPS、响应时间、错误率和资源使用;AI 应用除了这些,还要关注首 Token 延迟、总生成耗时、输出 Token 速度、输入输出 Token 长度、模型推理资源、队列等待和第三方模型服务稳定性。AI 性能通常和 Prompt 长度、上下文长度、模型大小、检索链路和生成长度强相关。
2. AI 应用性能测试主要关注哪些核心指标?
参考回答: 核心指标包括平均响应时间、P95/P99 响应时间、首 Token 延迟、总响应耗时、吞吐量、并发数、错误率、超时率、Tokens Per Second、GPU 利用率、显存占用、队列长度和成本。大模型场景不能只看接口耗时,还要拆分检索、推理和生成阶段。
3. 什么是首 Token 延迟?为什么重要?
参考回答: 首 Token 延迟是用户发起请求到模型返回第一个 Token 的时间。它直接影响用户体感,尤其是流式输出场景,首 Token 越快,用户越觉得系统响应及时。首 Token 过高可能是排队、检索、Prompt 过长或模型推理启动慢导致的。
4. 什么是总响应耗时?如何统计?
参考回答: 总响应耗时是从请求发出到完整答案生成结束的时间。统计时要包含网络、检索、模型推理、后处理和流式输出结束时间。对于长答案,总耗时和输出 Token 数强相关,所以最好同时记录输入长度、输出长度和生成速度。
5. 什么是吞吐量?AI 场景下如何衡量?
参考回答: 吞吐量表示单位时间内系统能处理多少请求。AI 场景除了 QPS,还可以看每秒生成 Token 数、单位时间完成会话数。因为不同请求输入和输出长度差异很大,单纯 QPS 可能不准确,需要结合 Token 维度评估。
6. 什么是 Tokens Per Second?它反映什么问题?
参考回答: Tokens Per Second 表示模型每秒生成多少 Token,反映模型推理和生成速度。它受模型大小、硬件资源、并发、量化方式和解码策略影响。TPS 下降通常说明推理资源不足、并发过高或队列拥塞。
7. AI 接口压测时为什么要关注输入 Token 和输出 Token?
参考回答: 因为输入 Token 影响上下文处理和 Prefill 阶段耗时,输出 Token 影响 Decode 阶段耗时。两个请求即使 QPS 一样,如果 Token 长度不同,资源消耗可能完全不同。所以压测时必须记录并控制输入输出长度分布。
8. AI 性能测试中如何设计并发用户模型?
参考回答: 要基于真实业务流量设计,包括并发用户数、请求频率、问题长度、会话轮次和输出长度。不能只用固定短问题压测,否则结果会偏乐观。最好按真实线上日志抽样,构造短、中、长请求混合场景。
9. AI 性能测试中如何设置合理的压测时长?
参考回答: 短时间压测可以验证峰值能力,长时间压测可以验证稳定性和资源泄露。通常会包含预热阶段、稳定压测阶段和峰值冲击阶段。AI 服务还要观察显存、队列、缓存和第三方 API 限流是否随时间恶化。
10. AI 性能测试报告应该包含哪些内容?
参考回答: 报告应包含压测环境、模型版本、Prompt 长度、数据集分布、并发模型、响应时间、首 Token、总耗时、TPS、错误率、资源指标、瓶颈分析和容量建议。AI 性能报告必须说明 Token 分布,否则数据可参考性不强。
二、压测场景设计
11. 如何对大模型对话接口进行压测?
参考回答: 先准备不同长度和不同业务类型的问题集,通过压测工具或 Python 脚本并发调用接口,记录首 Token、总耗时、错误率、Token 数和资源指标。如果是流式接口,还要统计每个分片间隔和流式结束标识是否正常。
12. 如何设计短文本和长文本混合压测场景?
参考回答: 可以按线上比例构造短文本、中等文本和长文本请求,比如 60%、30%、10%。长文本会明显增加上下文处理时间,混合压测比单一短文本更接近真实场景,也更容易发现资源瓶颈。
13. 如何设计流式输出接口压测场景?
参考回答: 流式压测要记录首包时间、分片间隔、总输出时间、断流率和结束标识。还要验证高并发下是否出现中途断开、重复片段、乱序、最后一段丢失等问题。用户体感上首包时间比总时间更敏感。
14. 如何设计 RAG 场景下的端到端压测?
参考回答: RAG 压测要覆盖向量检索、重排、Prompt 拼接和模型生成完整链路。需要分别记录检索耗时、重排耗时、生成耗时和总耗时,判断瓶颈是在知识库检索还是模型推理。
15. 如何设计多轮对话压测用例?
参考回答: 多轮压测要保留上下文,模拟连续会话而不是每次单轮请求。随着轮次增加,输入上下文变长,响应时间和成本也会上升。测试时要观察第 1 轮、第 N 轮的耗时变化和上下文截断策略。
16. 如何模拟真实用户请求分布?
参考回答: 最好从线上日志或业务统计中抽取问题类型、长度、时间分布和并发峰值。如果没有线上数据,可以根据业务预估构造高频问题、长尾问题、异常输入和复杂任务混合压测。
17. AI 应用压测数据如何准备?
参考回答: 压测数据要覆盖真实业务问题、不同长度输入、不同输出长度预期、RAG 命中和不命中场景、多轮会话和异常输入。数据要脱敏,避免压测过程中暴露用户隐私或触发真实业务操作。
18. 压测时如何避免命中缓存导致结果失真?
参考回答: 可以使用动态参数、不同问题集合、关闭缓存或区分缓存命中率统计。如果业务本身依赖缓存,也要分别测试冷缓存和热缓存场景,不能把缓存命中后的结果当成模型真实推理能力。
19. 如何设计峰值流量和突刺流量测试?
参考回答: 峰值测试验证系统在预期最高流量下是否稳定,突刺测试验证短时间流量猛增时是否能抗住。AI 服务要重点观察队列堆积、超时率、限流策略、降级策略和恢复时间。
20. 如何设计长时间稳定性压测?
参考回答: 长稳压测通常持续数小时甚至更久,使用接近真实业务的混合流量,观察错误率、响应时间、资源占用是否随时间上升。重点发现内存泄漏、显存泄漏、连接泄漏、队列堆积和第三方 API 不稳定问题。
三、性能瓶颈分析
21. 大模型接口响应慢可能有哪些原因?
参考回答: 可能是 Prompt 太长、输出太长、模型推理慢、GPU 资源不足、请求排队、RAG 检索慢、网络延迟、后处理慢或第三方模型服务限流。定位时要拆分链路耗时,不能只看总响应时间。
22. 如何判断瓶颈在模型推理还是业务服务?
参考回答: 可以在服务链路打点,分别记录网关、业务逻辑、检索、模型调用和后处理耗时。如果模型调用耗时占比最高,瓶颈多在推理;如果模型很快但总耗时高,可能是业务服务、检索或网络问题。
23. 如何判断瓶颈在检索链路还是生成链路?
参考回答: RAG 场景要分别统计向量检索、重排、Prompt 拼接和模型生成耗时。如果检索耗时高,要看向量库索引、Top-K、过滤条件;如果生成耗时高,要看上下文长度、输出长度和模型资源。
24. 如何分析 GPU 利用率不足的问题?
参考回答: GPU 利用率低可能是请求没有打满、CPU 或数据预处理成为瓶颈、Batch 策略不合理、网络等待或模型服务配置不合理。要结合 GPU 利用率、显存、队列长度、CPU 和请求耗时一起分析。
25. 如何分析 CPU、内存、磁盘 IO 对 AI 服务的影响?
参考回答: CPU 可能影响数据预处理、后处理和向量检索;内存不足可能导致频繁 GC 或缓存失效;磁盘 IO 可能影响知识库读取和日志写入。压测时要同步监控系统资源,结合耗时曲线判断相关性。
26. 如何分析队列堆积导致的响应变慢?
参考回答: 如果并发升高后首 Token 延迟和总耗时明显增加,同时模型服务队列长度上升,说明请求在排队。可以通过增加实例、优化 Batch、限流、削峰或降低单请求 Token 长度缓解。
27. 如何排查网络延迟对 AI 接口的影响?
参考回答: 可以分别在客户端、网关、服务端和模型服务侧打点,对比各段耗时。如果服务端处理很快但客户端耗时高,可能是网络传输或流式返回链路问题。跨地域调用第三方模型时尤其要关注网络。
28. 如何分析 Prompt 过长导致的性能问题?
参考回答: Prompt 越长,模型处理上下文越慢,成本也越高。可以统计输入 Token 和响应时间的关系,测试不同 Prompt 长度下的耗时变化。优化方向包括压缩 Prompt、减少无关上下文、优化 RAG 召回片段。
29. 如何分析输出 Token 过多导致的耗时问题?
参考回答: 输出越长,总生成时间越长。可以记录输出 Token 数和生成速度,判断是否需要限制最大输出长度、优化回答格式或让模型先总结再展开。很多性能问题不是模型慢,而是输出太长。
30. 如何通过日志定位 AI 服务性能瓶颈?
参考回答: 日志要记录请求 ID、输入 Token、输出 Token、检索耗时、模型耗时、后处理耗时、总耗时和错误码。通过链路追踪可以定位慢在哪一段,并把慢请求样本单独分析。
四、稳定性与可靠性测试
31. AI 服务稳定性测试主要关注哪些指标?
参考回答: 主要关注错误率、超时率、P95/P99 响应时间、服务可用性、队列长度、资源波动、重试成功率和降级成功率。AI 服务还要关注模型调用失败率、第三方 API 稳定性和流式输出中断率。
32. 如何测试 AI 服务长时间运行后的稳定性?
参考回答: 通过长时间混合流量压测,观察响应时间、错误率、CPU、内存、显存和连接数是否持续上升。如果运行越久越慢,可能存在资源泄露、队列堆积或缓存策略问题。
33. 如何测试模型服务在高并发下的错误率?
参考回答: 逐步增加并发,记录不同并发下的错误率、超时率和资源使用。当超过容量后,系统应该限流或降级,而不是大量 500 或无响应。测试目标是找到稳定承载边界。
34. 如何测试 AI 服务的超时处理机制?
参考回答: 模拟模型调用超时、检索超时和第三方 API 超时,验证系统是否在规定时间返回友好提示,是否取消无效任务,是否记录日志并触发告警。超时不能让用户一直等待,也不能返回半截错误内容。
35. 如何测试 AI 服务的限流策略?
参考回答: 通过超过阈值的并发或 QPS 请求,验证系统是否按用户、租户、接口或模型维度限流。限流返回应明确、可识别,并且不能影响正常用户。还要验证限流恢复后服务是否正常。
36. 如何测试 AI 服务的重试机制?
参考回答: 模拟短暂失败,验证系统是否进行有限重试,重试间隔是否合理,是否避免重复扣费或重复执行业务动作。对于生成式请求,重试还要关注答案一致性和幂等性。
37. 如何测试 AI 服务的降级策略?
参考回答: 可以模拟模型不可用、知识库不可用或高并发压力,验证系统是否切换备用模型、返回模板答案、关闭非核心功能或提示稍后再试。降级目标是保证核心功能可用,避免整体不可用。
38. 如何测试模型服务宕机后的恢复能力?
参考回答: 停止模型实例或模拟服务宕机,观察调用方是否自动切换、是否有健康检查、是否能自动拉起实例。恢复后要确认队列中请求是否正确处理,是否出现重复响应或状态异常。
39. 如何测试第三方大模型 API 不稳定时的容错能力?
参考回答: Mock 第三方 API 返回超时、限流、错误码和异常内容,验证系统是否重试、切换备用供应商、降级或提示用户。依赖外部模型时,容错和降级非常重要。
40. 如何测试 AI 应用的熔断机制?
参考回答: 当错误率或超时率超过阈值时,系统应自动熔断,短时间内不再继续请求异常服务,避免雪崩。测试时要验证熔断触发、半开恢复、正常恢复和告警是否符合预期。
五、监控、容量与线上保障
41. AI 应用线上监控应该包含哪些指标?
参考回答: 应包含请求量、响应时间、首 Token、错误率、超时率、Token 消耗、模型调用成功率、检索耗时、GPU/CPU/内存、队列长度、安全拦截率和用户反馈。AI 监控要同时覆盖业务、模型和系统资源。
42. 如何监控首 Token 延迟和平均响应耗时?
参考回答: 在服务端记录请求开始、首个 Token 返回和结束时间,分别计算首 Token 延迟和总耗时。监控时要看平均值,也要看 P95/P99,因为少量慢请求会严重影响用户体验。
43. 如何监控 GPU 显存、利用率和推理队列?
参考回答: 可以接入 Prometheus、Grafana 或云厂商监控,采集 GPU 利用率、显存占用、温度、推理队列长度和 Batch 情况。GPU 资源是模型服务容量的核心,必须和请求指标联动分析。
44. 如何监控大模型调用失败率?
参考回答: 要按模型、供应商、接口、错误码和租户维度统计失败率,区分超时、限流、鉴权失败、内容安全拒绝和服务异常。不同失败类型处理策略不同,不能只统计一个总失败率。
45. 如何设计 AI 应用容量评估方案?
参考回答: 基于目标并发、请求长度、输出长度和 SLA 做压测,找到单实例承载能力,再估算需要的实例数和冗余。容量评估要考虑峰值流量、长文本比例、模型成本和降级策略。
46. 如何根据压测结果预估机器资源?
参考回答: 先得到单机在目标 SLA 下的最大并发、QPS 和 Token 吞吐,再结合线上峰值流量和安全冗余计算实例数。AI 场景还要考虑 GPU 显存、模型大小、Batch 配置和多租户资源隔离。
47. AI 应用灰度发布时如何观察稳定性?
参考回答: 灰度时要对比新旧版本的错误率、响应时间、首 Token、用户反馈、业务转化和安全拦截。发现新版本指标明显变差时应及时扩大排查或回滚。灰度不能只看功能是否可用。
48. 如何设计 AI 应用线上告警规则?
参考回答: 可以设置错误率、超时率、P95 响应时间、队列长度、GPU 利用率、调用失败率、安全异常和成本异常告警。告警阈值要结合业务 SLA,避免太敏感造成告警疲劳,也不能太宽松漏报。
49. 线上 AI 服务突然变慢如何排查?
参考回答: 先看流量是否突增,再看错误率、队列、GPU、CPU、检索耗时、第三方 API 和最近发布变更。通过链路耗时拆分定位慢在哪一段,再结合慢请求样本分析是否和长 Prompt、长输出或知识库有关。
50. 如何从性能测试角度保障 AI 应用稳定上线?
参考回答: 上线前要完成容量压测、峰值压测、长稳压测、降级容灾测试和监控告警配置。上线后通过灰度观察真实指标,并准备回滚方案。AI 应用稳定上线的关键是提前知道容量边界和失败时的兜底策略。

