由于高优先级事务的CPU使用率高,GCP Spanner中的记录被删除

问题描述 投票:0回答:1

[我们正在尝试使用事务模式通过多线程和多处理在扳手表中插入100万行数据,以最大限度地利用Spanner。

我们已经使用了20个进程来并行运行,并且每个进程都具有带有max_workers = 20的线程池,并且还动态增加了节点数。但是,当CPU利用率大于80%时,记录将被删除。

run_in_transaction函数用于在事务模式下插入数据。

有人遇到过这个问题吗?

python google-cloud-spanner
1个回答
0
投票

Cloud Spanner的性能高度依赖于工作负载,架构设计和数据集特征[1]。

数据集大小可能是CPU使用率过高的一个因素,因为读写操作的计算开销与数据集并行增长。因此,建议优化架构以应对工作量。

如果插入行时正在运行备份,请暂时禁用它们,然后重新运行写入。

您可以在堆栈监视上设置通知,以在CPU使用率达到定义的阈值时发送警报。维持CPU优化的建议阈值为65%[2]。当使用量达到该水平时,添加更多节点以维持请求速率。 CPU使用率下降后,请删除节点,然后查看请求是否仍在下降。

[1]https://cloud.google.com/spanner/docs/schema-design[2] https://cloud.google.com/spanner/docs/instances

© www.soinside.com 2019 - 2024. All rights reserved.