1. 监控工具
    1. cacti
    2. 内容
      1. 资源
      2. 消耗趋势
    3. 关注点
      1. 极限
      2. 趋势和分布
      3. 突变
  2. 优化目标
    1. 确定最低性能
      1. 参考同行
    2. 设定重复观环境
      1. 自动机器人
        1. 流程测试
        2. 创建 角色/装备/打怪
        3. 系统之间的对比
        4. 单个系统不同时间点的对比
      2. 测试开关
        1. 灰度测试
        2. 单个和几个服务器
      3. 外服投放
    3. 性能监控告警
      1. IM - google talk
      2. 手机/邮件/GM工具
  3. 性能分析
    1. 定位
      1. 基本点
        1. I/O操作
        2. 数据结构和算法
        3. 缓存数据
          1. 重复计算
        4. 热点数据
          1. 常用数据
      2. 系统的逻辑架构
        1. 数据流的走向和传递
        2. 静态
      3. 监控框架
        1. cpu
          1. 时间函数/帧数
          2. 优化点
          3. 场景
          4. lua时间
          5. 网络消息收发
          6. 定时器
        2. 内存
          1. new/delete obj
          2. 内存池
          3. 对象池
          4. 监控 +1/-1
        3. 网络
          1. 单帧监控重复的数据包
          2. 单个协议优化
          3. 减少无用的字段数据
          4. 压缩
          5. 带宽的优化直接影响cpu和内存
          6. 对玩家产生利益的包进行监控,超过阀值告警处理
          7. 丢弃 不重要的包,比如玩家发言
          8. 设置玩家默认的状态,不需要从服务器获取太多的对象数据
        4. 数据库
          1. 数据库日志
          2. 定时保存数据,不是实时
          3. 减少join操作
          4. 减少索引
          5. 大数据表横向切割
          6. 根据玩家活跃度存储策略(例如半年不登录的玩家转移到备份表中)
        5. 基于消息队列
    2. 规划/评估
    3. 迭代实施
    4. 观测
    5. 回归
  4. 逻辑层问题
    1. 信任协议
      1. 可变协议
        1. 例如count+type1+value1+type2+value2
        2. 客户端恶意攻击 count 无限大
        3. 被外挂,类型错误
      2. 解决:把协议当成是对外服务架构
    2. 数值上限控制
      1. 反向好友数
        1. 设置条件
        2. 热点数据
      2. 邮件数量
        1. 好友之间设上线
        2. 系统邮件保留一份
    3. 策划配置的安全性
      1. 怪物掉落...
    4. 玩法问题
      1. 玩家聚集
    5. 控制 单个玩家的频繁操作消耗性能的行为
    6. 考虑群体玩家的操作造成的服务器性能过高消耗
  5. FQ
    1. 控制每秒玩家可登录总次数,其他流入排队系统
    2. 根据单个服务器活跃用户top20,预先加载
    3. 运营和运行分开
      1. 运行的玩家数据
      2. 运营操作日志,限制对数据库的直接操作
    4. 数据库安全
      1. 单挑记录的查询也加上条件,例如limit 1; data in (from - to)