Skip to main content Link Menu Expand (external link) Document Search Copy Copied

1. 优化的目的

1.1. 服务端

  • 提升QPS
  • 降低Server RT
  • 降低硬件成本

1.2. 用户端

  • 降低时延
  • 提升用户体验
  • 提升转化率、留存率、交易量

2. 瓶颈

2.1. cpu

  • 字符拼接、查找、替换
  • encode decode
  • zip压缩
  • 序列化 反序列化
  • 异常捕获

2.2. IO

  • 序列化 反序列化
  • 网络IO
  • DNS缓存
  • CDN加速

2.3. memory

  • GC的速度,合理的GC回收器

2.4. db

  • 慢查询
  • 脱库

3. 应对方式

3.1. cpu

  • 正则表达式匹配

过长的正则表达式匹配,会消耗极大的内存

  • 字符拼接、查找、替换

合理使用StringBuilder,不使用StringBuffer。

  • encode decode

可以把一些加解密的流程拆出来,作为一个高级别的应用独立维护

  • zip压缩

不放在核心服务中

  • 序列化 反序列化

使用性能更好的序列化工具,如uProtoBuff

  • 异常捕获

较少异常捕获

3.2. IO

  • 网络IO

可以优化IO总量,比如把字段名缩写,IdCord->id;Number->No

  • DNS缓存

  • CDN加速

3.3. memory

  • GC 选择合理的GC方案,设置合适的内存大小

3.4. db

  • 慢查询

索引

  • 脱库

limit 限制