外观
如何理解I/O 延迟的分层定位?
标准回答
先查应用同步文件读写、数据库事务、缺页和持锁I/O,再看块设备排队与实际服务时间。等待可能来自页缓存未命中、后台写回、同步持久化、数据库锁或闪存负载,不都等于物理磁盘本身慢。
文件系统如ext4和F2FS有不同设计和设备配置,不能仅凭名字判断性能。使用目标设备的真实读写模式,分别测小文件、随机访问、顺序读取和同步提交的影响。
优化可减少关键路径I/O、合并合理事务、缓存必要元数据和错开后台大任务,同时保持一致性和崩溃恢复要求。禁止为了指标直接关掉必要持久化语义。
追问与回答
把I/O放后台后为什么还卡
UI可能仍在等结果,后台I/O会争抢存储和页缓存,也可能持锁阻挡UI。线程迁移没有消除资源依赖。
内容来源
- Android 与 AI 工程 Wiki · 原条目
q067