當前位置: 華文星空 > 知識

有哪些讓你目瞪口呆的 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