chengshiwen / influx-proxy

InfluxDB Proxy with High Availability and Consistent Hash
https://github.com/chengshiwen/influx-proxy/wiki
MIT License
354 stars 112 forks source link

扩缩容问题 #42

Closed Juke-github closed 2 years ago

Juke-github commented 2 years ago

1.当扩充一个circle,使用resync接口对两个circle进行同步时候,会非常慢,使用4个线程,4G的数据量要同步四五个小时,如何提高同步速度? 2.如何查看两个circle之间同步的进度,如何查看同步是否完成? 3.使用/transfer/state查看同步状态时,resyncing始终等于true,即使查看数据量已经完成了,该值为什么仍为true? 4.使用/transfer/stats查询迁移进度统计信息时,新加的circle的database_total始终为0是为什么?

chengshiwen commented 2 years ago

1.当扩充一个circle,使用resync接口对两个circle进行同步时候,会非常慢,使用4个线程,4G的数据量要同步四五个小时,如何提高同步速度?

目前同步采用 http 的方式,性能会相对比较慢,后面会考虑基于 protocol buffer rpc 方式来提高性能,目前的策略是提高:1、线程数量;2、tick 改近一点

2.如何查看两个circle之间同步的进度,如何查看同步是否完成?

/transfer/state 可以看

3.使用/transfer/state查看同步状态时,resyncing始终等于true,即使查看数据量已经完成了,该值为什么仍为true?

resyncing 为 true,说明还没有结束,还有一些同步任务

4.使用/transfer/stats查询迁移进度统计信息时,新加的circle的database_total始终为0是为什么?

是否有重启 influx-proxy?目前这些信息都是维护在内存里,重启就会清零;另外新加的circle,确认下新加入的influxdb的各个db是否都存在,2.5.8及以前,resync 会在db 创建时有些小问题,参考 https://github.com/chengshiwen/influx-proxy/issues/27