Apache ignite 并发写入测试
使用Data streamers API对ignite进行并发写入测试,结果发现两台机器同时写入的速度的总和小于单台机器写入的速度,这是为什么呢?如果接入数据量过大,通过增加机器来提高吞吐是不是存在问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用Data streamers API对ignite进行并发写入测试,结果发现两台机器同时写入的速度的总和小于单台机器写入的速度,这是为什么呢?如果接入数据量过大,通过增加机器来提高吞吐是不是存在问题?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
先放到内存中,然后异步的慢慢地 write 磁盘,这个里面有讲解https://www.haoyidaiban.com
如果接入的数据量过大,每天在千亿级,那么ignite是不是不适合作为临时的缓存中心呢(该缓存中心需要持久化能力)?实测中发现,不采用原生持久化时,通过增加机器,写入几乎等于线性增长;但是如果开启持久化后,出现写入总量受限。
回复
写入的快慢是相对的,磁盘肯定比内存慢;分布式没法解决写的问题,只能解决读的问题;用多个主机内存写慢于一个主机内存写,但是容量会扩大很多倍;最后的优化总是通过先写入内存,然后后台一个循环运转的守护进程持续读取内存写入磁盘,这称为异步队列
两个人挤一个桥肯定没有一个人挤一个桥快。吞吐的重点在于 read,不在于 write。 write 吞吐的前提是这些数据允许丢失,然后你就可以先放到内存中,然后异步的慢慢地 write 磁盘
源头的流量就水龙头那么大,大鲨鱼来吞肯定不够吞啊。