本文介绍如何通过优化写入的策略提升时序引擎写入效率:
- 请使用“并发+批量”的方式写入数据。推荐并发大于 256,推荐批量数大于 400。
- 如果通过SDK提交可以遵循一下写入优化的方面和原则:
- SDK实例创建和销毁:
- 时序引擎的SDK在一个进程中只需要创建一个全局实例即可。
- 写入或者查询直接调用putXXX()或者queryXXX()方法即可,无需调用close()方法。
- 一般SDK销毁只需在进行shutdown的时候调用close()方法即可。
- 批量提交数据点
- 批量提交数据点相对于单点提交,可以减少网络开销,提高整体吞吐量。
- SDK默认的异步提交批次大小为500点一批。
- 线程数设置
- SDK默认的异步提交消费者线程数为1。
- 当写入TPS较高时,可以适当调大消费者线程。
- 异步和同步写入优化
- 异步写:异步写入调用put()方法即可;SDK的内部处理逻辑为:
- 将Points放入内部队列。
- 消费者线程从内部队列取出小于等于批次大小个数据点,发送到时序引擎服务端。
- 同步写:同步写调用putSync()方法即可;SDK的内部处理逻辑为:
- 直接将方法传入的数据点Point发送给时序引擎服务端。
- 同步方法的性能取决于每次提交的点数。
- 用户可以自己在SDK外部自己维护一个队列,来调用同步方法。
- 异步写:异步写入调用put()方法即可;SDK的内部处理逻辑为:
- SDK实例创建和销毁:
在文档使用中是否遇到以下问题
更多建议
匿名提交