obloader导数租户会话数高

image
使用obloader导数租户的会话数高,共用obproxy,几十张表同时导入存在租户会话数打满其他租户连接失败的风险。哪位老师能帮助给讲解下

您好,可以提供下obloader的版本吗?

4.2.6

执行语句:
./obloader -h 127.0.0.1 -P 3306 -u ‘test@test#test’ -p ‘***’ -D ‘test’ --table ‘bdw_test’ --file-encoding ‘utf-8’ --cut -f ‘/home/deployer/loader4.2.6/test’ --column-splitter ‘’ --external-data

我们在428版本中有针对连接池的优化。您这边的问题,最直接的解决方式是 --thread 指定一个较小的,适合您环境的并发数,老版本 --thread 默认值是 cpu*2的并发,没有定义的话确实存在内存或者会话上打爆ob集群的情况

4 个赞

-thread int_num 加个这个参数,限制一下并发

1 个赞

–thread 默认值是 cpu2的并发,是指的租户cpu2吗

用428,还需要指定并发吗

16c 租户
默认32个并发(cpu*2)下,会话数峰值845,入库时间7.377 min
设置并发为16,–thread 16 ,会话数峰值为105,入库时间为 4.787 min
并发低,入库效率会提高吗?

并发(cpu*2)是指运行obloader机器的cpu核数,建议是根据ob集群的租户cpu能力来指定并发。
关于并行大小和导入速率的大小不是一个恒定的标准,当并行过大导致的阻塞和等待时并发越大等待时间会越久导致导入的速率下降。总之,选择一个合适的并发数才能得到相对较好的导入速率

1 个赞

空载的、测试的数据库可以指定线程数为cpu数乘以2,因为数据库不干别的事情,生产上则要考虑数据库的负载指定较低的并发数。

老师问下,入库时候能不让哪些字段入库吗,或者指定哪些字段呢