JavaScript 运行时 Bun 最近发布了 v1.2.21 和 v1.2.22 版本,修复了多个问题,新增统一 SQL 客户端 Bun.SQL,支持 MySQL、SQLite 和 PostgreSQL,提升了调试体验的异步堆栈跟踪功能,优化了性能,降低了 CPU 使用率,并增强了安全性和开发工具。
本文探讨了SQL挂起问题和TCP与Async Rust的应用。作者使用async-backtrace库生成异步堆栈跟踪来诊断SQL挂起问题,发现大部分线程在block_reader_merge_io_async::merge_io_read处被阻塞。作者还使用ChatGPT生成Python脚本来分析日志文件,发现读取时间过长的文件导致SQL系统挂起。作者模拟了TCP连接超时情况,发现opendal未正确实现异步超时逻辑。最后,作者总结了使用的诊断工具,并感谢帮助解决问题的人员。
完成下面两步后,将自动完成登录并继续当前操作。