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