文档首页/ 云数据库 GeminiDB/ GeminiDB Cassandra接口/ 常见问题/ 数据库使用/ 缩小batch大小后,QPS上升,实例总体性能为什么会下降
更新时间:2023-04-11 GMT+08:00

缩小batch大小后,QPS上升,实例总体性能为什么会下降

问题现象

用户原来的batch_size设置的是100,单行大概为400Byte。由于batch_size达到5KB后会触发告警,所以修改batch_size为10。但是为了保证总体写入性能,QPS会达到原来的10倍,然而实际修改后总体性能却出现下降。

可能原因

客户端的并发数受限于Driver的配置参数,主要和Host个数,Session个数,ConnectionsPerHost,MaxRequestsPerConnection这几个参数相关。

例如:用户启动一个Cluster,一个Cluster建立了一个Session,集群中有3个Host, ConnectionsPerHost设置为2,MaxRequestsPerConnection使用默认值128,则该Session总的最大并发请求数为768,单个节点最大请求数为256。

详细的参数解析请见官方文档

解决方案

通过查看监控指标,观察单个节点的CPU使用率、读写pending、读写时延等指标的使用情况。

  • 如果单个节点负载已经达到上限,则需要进行节点个数扩容,具体操作请参见添加节点
  • 如果单个节点负载还处于较低水平,则需要调整Driver端的配置。
    1. “ConnectionsPerHost”调大, 但需要所有连接对该集群总的连接数,不超过用户设置的告警阈值。
    2. “MaxRequestsPerConnection”调大 ,调整时,不要超过单个节点的负载能力,需要观察CPU,读写时延,读写pending个数指标。