Questions

4S分析法

  • Senario:场景、特征

    • 问清楚需要的功能,节选核心功能来实现

    • 现有的架构是什么样子?服务器、数据库、缓存之间的关系及数量

    • 访问量、并发用户数、数据量、空间使用量;读频率、写频率;现有瓶颈、压力

    • 分析服务特征

  • Service:服务拆分

  • Storage:存储

    • 不同的服务使用不同的存储,如推特的用户服务用 MySQL,推文服务用 Mongo,图片服务用 S3

  • Scale:扩展、分片、优化

一般线上问题的解决步骤

  1. 定位:首先确认问题在什么样的场景下出现。可以通过收集用户反馈、分析线上日志、监控报警等方式发现问题

  2. 分析:结合上一步的场景,分析问题原因。可以模拟参数尝试复现、检查最近线上的程序与配置变更、上下游变更;如果是响应变慢,可以通过工具分析程序的CPU、内存、锁等资源的分配情况

  3. 解决:增加硬件资源、优化代码逻辑、回滚、调整配置等

Last updated