通过不犯傻优化 170,000%(!)

主要观点:作者非常关心 RavenDB 的性能,过去 15 年的每个版本都在提升其性能,团队有专门任务寻找并解决瓶颈,甚至用到汇编语言。曾遇到在序列化文档时编译 LINQ 表达式导致性能浪费的问题,后进行了修复并进行性能测试。
关键信息

  • 过去 15 年 RavenDB 版本持续提升性能,有专门团队优化。
  • 序列化文档时编译 LINQ 表达式浪费性能。
  • 修复后的版本性能提升 1689 倍,从 33782ms 降至 20ms。
  • 此问题在多数固定线程数的生产场景和基准测试中不易出现,只有线程创建和死亡时才会出现,如处理峰值时,线程池会创建新线程,初始会消耗大量 CPU 无意义。
  • 代码可追溯至 2017 年,修复简单但在基准测试中难以体现实际收益,但仍是使 RavenDB 更好的一步。
    重要细节
  • 团队为提升性能会用 CPU 微码设计部分 RavenDB。
  • 性能测试对比了修复前后版本的时间。
  • 解释了问题出现的场景和原因。
阅读 7
0 条评论