写出高性能 Tokio 应用的若干原则(初稿)
来源:dial9-rs.github.io — dial9-rs.github.io · 34 分 · by carllerche
📋 概述
作者在 RustConf 的 Unconf 上与人讨论异步应用的调试与基准测试后,整理出这份希望成为活文档的 Tokio 性能原则:先确认自己是否真有问题、为延迟而拆分、为吞吐而批量、更频繁地让出执行权、警惕全局资源与互斥锁、限制并行度、把 Tokio worker 与其他线程隔离,必要时用多个运行时按优先级隔离负载。文中反复提醒,几乎所有真实应用的 poll 时长都远超 Alice Ryhl 建议的 10 到 100 微秒,但长 poll 未必有害,应当从真正关心的指标倒推。
🔑 核心要点
- 先从真实指标倒推要改什么,别见到红旗就动手。
- 总体策略是为延迟拆分、为吞吐批量。
- 对互斥锁要极度小心,警惕全局资源争用。
- 把 Tokio worker 与其他线程隔离。
- 必要时用多运行时按优先级隔离负载。
💡 金句
长 poll 有时完全无害,修好它们不会给你真正关心的指标带来任何可测量的变化。
👍 0
👎 0
← 返回 Hacker News 首页