GBase 8a数据库集群SQL并行度参数

GBase 8a数据库,内部支持并行,可以充分利用CPU资源。在一个多用户,并发场景下,需要对并发和内部线程池做配置,当硬件资源固定时,在高性能和高并发之间取得平衡。

更高的单个线程,理论上会带来更高的性能,但CPU毕竟有限,当并发高时,内部的争抢,CPU内部的切换,也将带来额外的无效损耗。 同时,对于小数据量的业务,过高的内部并发,也会带来资源的浪费,所谓三个和尚无水吃。必要时可以限制一些小查询的并发数。

几个计算节点gnode主要参数:

gbase_parallel_degree
单个SQL使用的线程数。建议不超过CPU物理核数的1/2。需要根据CPU核数与最大并发数进行综合考虑。

gbase_parallel_max_thread_in_pool
初始化的内部线程数量,建议为最高并发SQL*上一个参数。保险起见,同时考虑到数据库内部的连接,一般建议512、1024等。
如果连接池用光,那么新来SQL时,连接池将新建【1个】连接,并返还给调用方,这将导致该SQL内部【串行】执行。

注意:过高的线程池,必然导致CPU内部竞争,所以必要时降低上面参数单个SQL线程数也是个思路。

其它数据库参数,请参考 GBase8a配置参数

GBase 8a数据库集群SQL并行度参数》有1条评论

评论已关闭。