性能与高并发实务指南
从业务判断到疑难排查,先理解问题,再选择方案。每篇包含问题场景、处理思路与验收要点,可用于学习和开发沟通。
性能与高并发 · 50 篇
页面打开慢,怎样区分网络慢还是服务器慢?
客户打开报价页面要等很久,电脑和手机差异明显。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是分别量测资源下载和接口等待。
阅读解决思路 ↗数据库慢查询,为什么加服务器不一定有效?
订单查询越来越慢,扩容后改善很小。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先缩小查询范围。
阅读解决思路 ↗列表翻到后面越来越慢,怎样改分页?
订单列表前几页快,翻到后面等待明显增加。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是对连续浏览采用稳定游标分页。
阅读解决思路 ↗接口平均很快,为什么客户仍经常遇到卡顿?
平均响应正常,少数用户等待十几秒。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是按接口、租户和条件分组。
阅读解决思路 ↗高峰时数据库连接耗尽,应该怎样排查?
促销期间接口等待数据库连接,随后超时。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先处理长事务和未释放连接。
阅读解决思路 ↗一个订单页面发出几十个查询,怎么处理?
订单详情含很多商品,商品越多加载越慢。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是批量读取关联对象。
阅读解决思路 ↗大报表导出卡住系统,怎样改成后台任务?
财务导出全年订单,其他员工操作也变慢。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是拆分分页读取与流式写入。
阅读解决思路 ↗缓存加了还是慢,应该检查什么?
商品页部署缓存后没有明显改善。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是核对缓存适用对象与键。
阅读解决思路 ↗缓存突然集中过期,怎样防止系统被压垮?
固定时间大量缓存失效,数据库负载陡增。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是错开过期。
阅读解决思路 ↗不存在的商品被反复查询,怎样避免空耗数据库?
外部请求反复访问无效商品编号。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是验证输入。
阅读解决思路 ↗热点商品很多人同时查看,缓存重建怎样保护?
热门商品缓存失效时,数百请求一起计算。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是同一键只允许有限重建者。
阅读解决思路 ↗消息队列越积越多,先扩消费者还是先查原因?
异步订单队列连续增长,处理越来越晚。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先区分坏消息与吞吐瓶颈。
阅读解决思路 ↗接口限流,怎样避免把正常客户也拦住?
大客户批量调用时,小客户也收到限制提示。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是分别限制高成本接口与租户。
阅读解决思路 ↗高并发下同一订单被重复提交,怎样处理?
用户连点或网络重试生成多笔订单。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是服务端按稳定业务键控制幂等。
阅读解决思路 ↗秒杀商品超卖,性能优化要先守住什么?
高峰支付成功数量超过实际可售库存。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是将库存预占做成原子业务操作。
阅读解决思路 ↗数据库死锁频繁,怎样定位具体业务?
批量改单时部分事务失败,需要员工重试。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是统一资源更新顺序。
阅读解决思路 ↗长事务为什么会拖慢全系统?
员工批量审核后,多处数据库操作等待。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是把可异步动作移出事务。
阅读解决思路 ↗服务器 CPU 很高,但流量不大,怎么查?
后台资源突然升高,业务访问量没有明显变化。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是定位热点函数与任务。
阅读解决思路 ↗内存不断上涨,怎样判断泄漏还是正常缓存?
服务运行几天后内存增大并被重启。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是区分可回收与长期存活对象。
阅读解决思路 ↗图片太大拖慢手机站,怎样改?
手机首页图片清晰但打开慢,耗流量。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是生成适合显示的多尺寸图片。
阅读解决思路 ↗前端脚本越做越大,如何减少首屏等待?
新增功能后手机首页要等脚本加载完才能使用。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是拆分非首屏功能。
阅读解决思路 ↗数据库读写分离后,刚提交的订单为什么看不到?
提交成功后列表暂时没有新订单。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是关键写后读短期走主库或使用一致性标记。
阅读解决思路 ↗跨国访问慢,应该先部署海外服务器吗?
国外客户加载报价站点慢。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先减少跨域往返与资源体积。
阅读解决思路 ↗CDN 命中率低,为什么带宽费用仍高?
静态资源已接入 CDN,源站流量还是很大。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是统一静态资源版本地址。
阅读解决思路 ↗搜索商品很慢,什么时候需要搜索服务?
商品筛选与关键词搜索同时拖慢交易数据库。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先优化基础查询。
阅读解决思路 ↗压测跑出很高数字,为什么上线仍卡?
测试吞吐很高,上线用户仍抱怨等待。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是按真实场景混合压测。
阅读解决思路 ↗怎样给软件约定可执行的性能验收标准?
合同只写系统流畅,双方验收时理解不同。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是对每个关键动作约定高分位延时、错误率、数据量与环境。
阅读解决思路 ↗批量任务为什么适合错峰执行?
每晚备份、同步和结算同时开始。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是区分截止时点。
阅读解决思路 ↗文件上传很慢,怎样区分客户端和存储瓶颈?
用户上传大视频时进度长时间不变。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是按链路分段测量。
阅读解决思路 ↗大文件下载容易失败,如何提高完成率?
客户下载报表中途断线,需要重新开始。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先生成稳定文件。
阅读解决思路 ↗日志写得太多会影响性能吗?
调试日志开启后接口变慢,磁盘增长快。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是降低无价值日志。
阅读解决思路 ↗第三方接口慢,怎样不拖住全部线程?
短信或物流服务慢,其他接口也开始排队。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是设置分段超时与并发隔离。
阅读解决思路 ↗为什么水平扩容后,重复定时任务变多?
服务从一台扩到三台,结算任务执行了三遍。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是使用统一调度或业务锁。
阅读解决思路 ↗WebSocket 用户多了就断线,怎么排查?
实时消息人数增加后频繁掉线。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是核对连接与空闲超时。
阅读解决思路 ↗数据库表越来越大,必须马上分库分表吗?
历史订单多,企业担心未来性能。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是先优化索引和归档。
阅读解决思路 ↗历史数据归档后,老订单怎么查询?
在线库要瘦身,客服仍需查多年前订单。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是定义冷热边界。
阅读解决思路 ↗前端频繁刷新列表,为什么会拖慢后台?
多个大屏每秒拉全量数据,服务器负载持续偏高。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是改增量查询或事件通知。
阅读解决思路 ↗订单统计接口很慢,怎样预计算又不丢准确性?
每次打开经营看板都扫描全部订单。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是维护增量汇总。
阅读解决思路 ↗数据库磁盘写入成为瓶颈,先看什么?
CPU 不高,但写单仍很慢。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是核对存储能力与写入模式。
阅读解决思路 ↗应用启动慢,发布窗口为什么越来越长?
每次升级新实例很久才能接流量。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是拆分必要启动与可延迟预热。
阅读解决思路 ↗并发量、访问量和在线人数为什么不能混为一谈?
企业说要支持一万人,团队却无法估算配置。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是建立业务负载模型。
阅读解决思路 ↗服务自动扩容,怎样避免成本突然失控?
资源随流量增长,账单超出预算。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是设置容量上下界。
阅读解决思路 ↗移动端弱网场景,接口怎样减少等待?
客户在地下车库操作,反复超时。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是合并必要请求。
阅读解决思路 ↗接口响应体太大,怎样瘦身不影响业务?
列表返回完整合同和附件信息,手机加载慢。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是列表只取必要摘要。
阅读解决思路 ↗数据库索引失效,为什么明明建了还是扫全表?
查询加索引后,执行计划仍选择大范围扫描。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是检查条件写法与类型匹配。
阅读解决思路 ↗排序加筛选很慢,怎样设计查询顺序?
客户按状态筛选再按日期排序,列表等待长。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是优先支持高频组合。
阅读解决思路 ↗计算任务占满资源,怎样保障交易优先?
AI 或报表计算与下单部署一起,下单变慢。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是把计算任务分队列或资源池。
阅读解决思路 ↗性能改完之后,怎样避免下次更新又变慢?
一次优化有效,后续发布引入新慢查询。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是保留可复现基准。
阅读解决思路 ↗高峰排队时,客户应该看到什么提示?
业务受限时用户反复点按钮,压力进一步增大。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是展示受理状态及任务编号。
阅读解决思路 ↗后台跑得快,为什么员工操作还是慢?
接口延时正常,但员工完成一笔业务要很久。本文说明可能原因、需要收集的证据、实施步骤与可验证结果,重点是同时量测系统耗时与人的操作耗时。
阅读解决思路 ↗