操作步骤
对GUC参数设置如下,才能启用上述所有优化特性。各GUC参数的详细介绍参见《参考》中“数据库运行参数说明 > GUC参数说明”章节。
- 非压缩场景:GUC参数设置如下。
nvme_cache_seg_num=2048
nvme_io_capacity=4GB
local_storage_directory='NVMe盘的挂载位置'
pagewriter_flush_mode=extre_mode
enable_buffer_evictor=on
enable_vldb_flow_control=on
enable_ondemand_rto=on
parallel_build_thread_num=1
enable_parallel_build_compression=off
ondemand_waiting_queue_mem_size=16GB
enable_nvme_cache_immediately_after_read=off
nvme_victim_strategy='dirty'
hot_standby=off
recovery_parse_workers=2
recovery_redo_workers=8
max_wal_senders=20
- 压缩场景:在非压缩场景设置上述GUC参数的基础上,需额外增加以下GUC参数设置。
enable_ilm=on
ilm_instance_compress=off
ilm_instance_compress_configuration='low,1,day'
turbo_compress_shared_buffers=8GB
turbo_compress_default_configuration='tiling,zstd,4;tiling,zstd,16;pattern,zstd,16'
turbo_compress_pattern_encoder='transpose'
turbo_compress_preload_workers_num=4
turbo_compress_force_fast_allocate=on
turbo_compress_enable_double_write=on
操作流程
大容量测试工业界没有标准的benchmark,这里为了模拟真实使用场景,基于TPCC的benchmark构造了冷温热3个数据仓,它的数据仓容量比为6:3:1,即40TB的数据,冷仓为24TB,温仓为12TB,热仓为4TB。实际业务访问的冷温热通过连接数量来表示,对应的访问连接数量反过来为1:3:6。即如果是200并发的TPCC测试,冷仓的测试连接数为20并发,温仓的连接数为60并发,热仓的测试连接数为120并发。以下测试步骤为随机仓测试,即terminalWarehouseFixed=false。
- 搭建集中式环境。
- 冷温热数据比例按照6:3:1分3个数据仓分别导入,共TPCC 40TB数据。
- 在200并发场景下,启动3个客户端冷温热执行TPCC性能测试。
- 下发标准出口参数环境,测试基线性能长稳8h,记录最终TPCC性能。
- 执行Build构建记录Build时间,执行备份恢复记录备份恢复时间。
- 重新下发标准出口参数环境,设置上述GUC参数后重新启动数据库,重复测试上述性能、Build构建和备份恢复时间。
- 由于NVMe Cache不支持段页式,因此导入的数据可以默认是ustore或者astore,不能是段页式表。
- 按需回放特性不支持备机读,详情参考《开发指南》中“特性使用指导 > 按需回放”章节。
- 如果没有NVMe盘,设置nvme_cache_seg_num=0表示关闭该特性。