努力的美好一天:每次节省 1%的计算资源

主要观点:Cloudflare 全球网络每秒处理超 6000 万 HTTP 请求,作者所在团队维护的 Pingora 框架及基于其的服务负责将用户请求传至真实目的地,其中pingora-origin服务需清除内部信息,原clear_internal_headers函数耗 CPU 时间超 1.7%,通过基准测试、减少读取、搜索数据结构等优化,最终开发出trie-hard开源 Rust crate,使该函数平均运行时间降至 0.93µs,CPU 利用率降低 1.28%,且生产环境中性能采样结果与基准测试预测相符,强调了解代码运行缓慢位置及程度比优化方式更重要。
关键信息:Cloudflare 网络请求处理量,Pingora 相关项目,clear_internal_headers函数优化过程及结果,trie-hard 的开发与性能,生产环境中的性能采样等。
重要细节:原函数注释说明其消耗 CPU 时间多,基准测试用 criterion crate 衡量函数性能,减少读取通过翻转查找方向实现,搜索数据结构尝试多种数据结构如 HashMap、BTreeSet、FST、正则表达式及 trie 等,trie-hard 速度提升原理及在生产环境中的运行情况等。

阅读 18
0 条评论