Intel sale

看到狂吹 KPTI 造成 5% ~ 30% 的性能损失,自己测试了一下。环境如下:

  • 服务器: Aliyun 计算型 c5.large
  • 操作系统: Ubuntu 16.04.3 LTS
  • 内核版本: 4.4.0-62-generic / 4.14.12-041412-generic
  • 一共三组:
    • A: 4.4.0-62: no KPTI
    • B: 4.14.12-041412: \w KPTI & PCID
    • C: 4.14.12-041412: \w KPTI, no PCID
  • 通过添加内核参数 nopcid noinvpcid 禁用 PCID
  • 测试科目:
    • MongoDB 读写,具体见下方 Gist
    • 这个博客(C3Blog),数据库内容和在线版本相同,使用 wrk -c100 -t2 -d10s http://localhost/posts --latency 测试

TL;DR

在开启 PCID 时,KPTI 未造成肉眼可见的性能损失。

在关闭 PCID 后,C3Blog 出现了 10% 左右的 rps 损失,但是 MongoDB 依旧没有明显的性能区别。可能 JavaScript/Mongoose 带来的 Overhead >> KPTI

具体结果

贴在了这个 Gist 上: https://gist.github.com/anonymous/879353087717b1eec1e6435b22d94a8c

一不小心贴到 Anonymous 上了,嘻嘻,改天挪到自己的 Namespace 下。

格式是: [Group].[Test].txt

  • Group: A\B\C
  • Test:
    • uname: uname -r 输出
    • c: C3Blog
    • m: MongoDB