TPCC高并发长稳运行因脏页刷盘效率导致性能下降
问题现象
TPCC高并发长稳运行因脏页刷盘效率导致性能下降,具体表现为:初始性能较高,随着运行时间增加,数据库tmpTotal值下降,WalWriter线程CPU占用100%,其他CPU几乎没有负载,WDR报告中,脏页刷盘等待时间占比最高。
原因分析
一般来说,问题原因可以通过查看线程状态、操作系统资源使用情况(CPU、IO等)分析具体原因, 或者通过WDR报告对问题根因继续分析。 在该场景下,原因为脏页刷新的效率较低。
处理方式
1、降低并发度或者调大shared_buffers参数。
2、调整脏页参数:在开启双写的场景下,可以下调pagewriter_sleep参数、上调max_io_capacity等参数,加快脏页淘汰效率。
3、更换高性能磁盘(NVME等)。
数据库占用资源应与业务需求相吻合。对于高并发测试中,需要增加资源以保证数据库业务可用。