有一天,测试 MM 告诉你,现在产品有很严重的性能问题,你刚好负责这个模块,所以性能优化的问题就交给你了。于是你虎躯一震,大脑飞速地转动起来。。。

1. 甩锅大法

也许是你底层代码写得太烂,导致我上层服务性能差,难道你不应该好好检查你的代码吗?

  1. 找到项目中一个不是你负责的模块或组件
  2. 假定问题是由那个组件导致的
  3. 把问题丢给负责那个组件的团队
  4. 如果证明不是他们的原因,返回到步骤 1

为了自己的头发少掉点,将锅甩给别人不失为明智的选择。😈

2. 街灯大法

一天晚上,一个警察看到醉汉在路灯下找东西,于是警察问:“你在找什么?” 醉汉回答:“我的钥匙丢了!” 可是,警察扫视四周也没看到钥匙,就问他:“你确定钥匙就是在这里丢的,就在路灯下?” 醉汉说:“不,但是这里的光是最亮的。”

  1. 选择一个熟悉的性能监控工具
  2. 查看性能指标
  3. 尝试改改代码
  4. 重复步骤 2 和 3,直到发现问题或者放弃

当一个程序猿碰到一个性能问题却无从下手的时候,top 命令看看 cpu,看看内存占用,期待能发现什么异常。也许真的能发现异常,但是未必是导致你那个问题的原因。😀

3. 随机调参大法

虽然我不知道怎么解决问题,但是我可以改参数啊!

  1. 任意选择一项参数
  2. 朝着某个方向做修改
  3. 测量性能指标
  4. 朝相反方向修改
  5. 测量性能指标
  6. 拿步骤 3 和 5 的结果和基准值作比较,对系统作适当修改,返回到步骤 1

这个方法可能有效,但是你不知道原理,在生产环境中遇到新的问题,还是没有头绪。此外,盲目的改动还会导致不可预知的风险。
不过比上面两种,在态度上好多了。😆

(以上方法均有不同程度的失业风险,请勿轻易尝试!)


↙↙↙阅读原文可查看相关链接,并与作者交流