在实时生成大量数据的时候,实时导入,用什么样的方式(或者是什么样的架构设计)导入数据是最快的。
您指的快是单个请求的延时低还是整体的吞吐大?
另外最好您能更详细描述场景,我们可以给出一些建议。
就是我线上实时的生成大量的数据,怎么以最大的吞吐量插入进图数据里面
实时客户端方面
- 适量的 batch(包涵把多行合并在一个请求里,还有多个同类插入合并在一行里),也许会有助于提高写入性能的
- 如果超过了一个 GraphD (瓶颈、压力如果在GraphD这边的话),客户端对 GraphD 的轮询机制选择也可能有帮助
建议在测试环境里做实验去探索一下
服务端方面,建议搭建环境,按需扩缩 graphD和 storageD的数量和配置,并且调优参数,包括 rocksdb 的参数、还有图控件的 partition 数不要太少,文档里有建议。
rocksDB 如果是批量导入,导入期间关 auto compaction,完成后手动做compaction会有提升,但是实时线上的话应该不能关的。另外,实时的情况,如果存在闲时,建议定期(每天或者几天)做手动 compaction。
具体的方案都不一定,要看环境的读请求的量等等因素,您可以探索看看,再回来论坛分享,讨论哈。
那我就只有一个单机(虚拟机上)那吞吐量在那多少范围呀,因为现在在测试性能
该话题在最后一个回复创建后30天后自动关闭。不再允许新的回复。