tidb8.1 的磁盘选择,关于网络 ssd,和本地 ssd 的选择对性能影响很大,差距 60 倍。
作者: tidb 狂热爱好者原文来源:https://tidb.net/blog/f41abaff
很多小伙伴在使用 tidb 时对网络磁盘,本地磁盘不了解闹出了很多乌龙。我就简单明了的讲解一下网络磁盘的原理。
硬件的三级缓存理论 从磁盘 -〉内存 -〉cpu。原本单机物理磁盘的访问路径为 ssd 载入到内存 速度 2048m/s。
通过网络载入。中间会受到网络波动,网络延时,网络带宽限制。2 者架构上的差距是带宽,延迟。带宽 2 者差距到 100 倍
具体表现为备份速度。查询速度,导出速度
像这个图带宽打满。从 10 点导出到 12 点结束。花费 2 个小时。
磁盘速度对备份的影响
备份 如果是本地盘备份 1 小时结束。3t 数据量
如果是网络磁盘 备份 200g 数据量需要 3 小时
如果是本地磁盘 备份 1000g 数据量需要 1 小时
磁盘速度对业务吞吐量的影响
因为磁盘性能差。一个耗时 sql 打过来最后会转变成对磁盘的读取。最后一个 sql 都会对应具体的 kv 数量 1kv 如果是 10kb。取 1000 条就是 10000k。然后通过小水管 10m 每秒传输。如果业务有并发请求。达到了 10m 的带宽瓶颈。tidb 就被打死了。
你配置差的磁盘,就对业务的 sql 要求会非常高,需要业务不能写任何慢 sql。一旦执行了一个慢 sql 就会引起雪崩。整个 tidb 不可用。
就比如一个 sql 读取了 30 分钟。那 30 分钟内。所有业务不可用
磁盘速度增加索引的影响
因为磁盘性能差。比如对 100g 表的一个 12g 字段增加索引。
10*1024⁄12*2=2048 将近需要 2048 秒才能完成 先读取,再写入,这其中业务几乎不可用。
综上所述,tidb 拒绝网络磁盘,无论他是 ssd 网络磁盘还是 hhd 网络磁盘。基于云的特性。只要是网络的东西都是共享使用的。把一个 ssd 盘做切片 每个人分到一点点性能。再通过网络延时这种影响。对数据库的性能影响非常大。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/2b63c6b0e1908bb729dc714c6】。文章转载请联系作者。
评论