当前位置: 华文星空 > 知识

有哪些让你目瞪口呆的 Bug ?

2020-03-11知识

Instagram 工程师在 PyCon 上分享他们从 python2 迁移到 python3 过程中一个有意思的故事:

当 Instagram 解决了这些奇奇怪怪的版本差异问题后,还有一个巨大的谜题困扰着他们: 性能问题

在 Instagram,他们使用两个主要指标来衡量他们的服务性能:

  • 每次请求产生的 CPU 指令数(越低越好)
  • 每秒能够处理的请求数(越高越好)
  • 所以,当所有的迁移工作完成后,他们非常惊喜的发现: 第一个性能指标,每次请求产生的 CPU 指令数居然足足下降了 12% !!!

    但是,按理说第二个指标 – 每秒请求数也应该获得接近 12% 的提升。不过最后的变化却是 0%。究竟是出了什么问题呢?

    他们最终定位到,是由于不同 Python 版本下的内存优化配置不同,导致 CPU 指令数下降带来的性能提升被抵消了。那为什么不同 Python 版本下的内存优化配置会不一样呢?

    这是他们用来检查 uwsgi 配置的代码:

    if uwsgi.opt.get('optimize_mem', N