PostgreSQL DBA(96) - System Conf(client_min_messages)
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,PostgreSQL提供了参数client_min_messages用以控制返回给客户的消息级别,不同的级别返回的消息大小不同,默认为NOTICE。在通常情况下,如果客户端执行的SQL语句不频繁的话,
千家信息网最后更新 2025年11月07日PostgreSQL DBA(96) - System Conf(client_min_messages)
PostgreSQL提供了参数client_min_messages用以控制返回给客户的消息级别,不同的级别返回的消息大小不同,默认为NOTICE。在通常情况下,如果客户端执行的SQL语句不频繁的话,使用默认参数即可,但如果客户端执行大量的SQL,设置该参数为较高级别就显得有意义了:可以减少消息的大小从而降低网络负载,提升吞吐。
参数简介
下面创建一个存储过程,raise notice显示通知信息
[local]:5432 pg12@testdb=# CREATE OR REPLACE FUNCTION foo() RETURNS void ASpg12@testdb-# $$pg12@testdb$# BEGINpg12@testdb$# RAISE NOTICE 'some message';pg12@testdb$# RETURN;pg12@testdb$# END;pg12@testdb$# $$ LANGUAGE 'plpgsql';CREATE FUNCTIONTime: 389.227 ms[local]:5432 pg12@testdb=#执行存储过程
[local]:5432 pg12@testdb=# show client_min_messages; client_min_messages --------------------- notice(1 row)Time: 0.589 ms[local]:5432 pg12@testdb=# select foo();NOTICE: some message foo -----(1 row)Time: 26.838 ms[local]:5432 pg12@testdb=# set client_min_messages='ERROR';SETTime: 0.361 ms[local]:5432 pg12@testdb=# select foo(); foo -----(1 row)Time: 1.638 ms[local]:5432 pg12@testdb=#在client_min_messages设置为ERROR后,不再显示NOTICE通知信息。
下面使用benchmarksql压测工具测试该参数从NOTICE修改为ERROR后的性能变化。
1.NOTICE
[xdb@localhost run]$ ./runBenchmark.sh props.pg2019-09-25 12:15:25,434 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:15:25,435 INFO - Term-00, BenchmarkSQL v4.1.12019-09-25 12:15:25,435 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:15:25,435 INFO - Term-00, (c) 2003, Raul Barbosa2019-09-25 12:15:25,435 INFO - Term-00, (c) 2004-2016, Denis Lussier2019-09-25 12:15:25,435 INFO - Term-00, (c) 2016, Jan Wieck2019-09-25 12:15:25,435 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:15:25,435 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, driver=org.postgresql.Driver2019-09-25 12:15:25,435 INFO - Term-00, conn=jdbc:postgresql://192.168.26.28:5432/benchmarkdb2019-09-25 12:15:25,435 INFO - Term-00, user=pg122019-09-25 12:15:25,435 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, warehouses=322019-09-25 12:15:25,435 INFO - Term-00, terminals=202019-09-25 12:15:25,435 INFO - Term-00, runMins=52019-09-25 12:15:25,435 INFO - Term-00, limitTxnsPerMin=02019-09-25 12:15:25,435 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, newOrderWeight=452019-09-25 12:15:25,435 INFO - Term-00, paymentWeight=432019-09-25 12:15:25,435 INFO - Term-00, orderStatusWeight=4 Term-00, Running Average 2019-09-25 12:20:25,706 INFO - Term-00, 52216 Memory Usage: 26MB / 37MB 2019-09-25 12:20:25,706 INFO - Term-00, 2019-09-25 12:20:25,707 INFO - Term-00, Measured tpmC (NewOrders) = 7448.89 2019-09-25 12:20:25,707 INFO - Term-00, Measured tpmTOTAL = 16626.58 2019-09-25 12:20:25,707 INFO - Term-00, Session Start = 2019-09-25 12:15:252019-09-25 12:20:25,707 INFO - Term-00, Session End = 2019-09-25 12:20:252019-09-25 12:20:25,707 INFO - Term-00, Transaction Count = 83171[xdb@localhost run]$ [xdb@localhost run]$2.ERROR
[xdb@localhost run]$ ./runBenchmark.sh props.pg2019-09-25 12:22:57,954 INFO - Term-00, 2019-09-25 12:22:57,954 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:22:57,954 INFO - Term-00, BenchmarkSQL v4.1.12019-09-25 12:22:57,954 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:22:57,954 INFO - Term-00, (c) 2003, Raul Barbosa2019-09-25 12:22:57,955 INFO - Term-00, (c) 2004-2016, Denis Lussier2019-09-25 12:22:57,955 INFO - Term-00, (c) 2016, Jan Wieck2019-09-25 12:22:57,955 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:22:57,955 INFO - Term-00, 2019-09-25 12:22:57,955 INFO - Term-00, driver=org.postgresql.Driver2019-09-25 12:22:57,955 INFO - Term-00, conn=jdbc:postgresql://192.168.26.28:5432/benchmarkdb2019-09-25 12:22:57,955 INFO - Term-00, user=pg122019-09-25 12:22:57,955 INFO - Term-00, 2019-09-25 12:22:57,955 INFO - Term-00, warehouses=322019-09-25 12:22:57,955 INFO - Term-00, terminals=202019-09-25 12:22:57,955 INFO - Term-00, runMins=52019-09-25 12:22:57,955 INFO - Term-00, limitTxnsPerMin=02019-09-25 12:22:57,955 INFO - Term-00, 2019-09-25 12:22:57,955 INFO - Term-00, newOrderWeight=452019-09-25 12:22:57,955 INFO - Term-00, paymentWeight=432019-09-25 12:22:57,955 INFO - Term-00, orderStatusWeight=4 Term-00, Running Average 2019-09-25 12:27:58,267 INFO - Term-00, 79156 Memory Usage: 18MB / 37MB 2019-09-25 12:27:58,267 INFO - Term-00, 2019-09-25 12:27:58,267 INFO - Term-00, Measured tpmC (NewOrders) = 7815.72 2019-09-25 12:27:58,267 INFO - Term-00, Measured tpmTOTAL = 17440.12 2019-09-25 12:27:58,267 INFO - Term-00, Session Start = 2019-09-25 12:22:582019-09-25 12:27:58,267 INFO - Term-00, Session End = 2019-09-25 12:27:582019-09-25 12:27:58,268 INFO - Term-00, Transaction Count = 87254[xdb@localhost run]$TPMC 7815 vs 7448,提升比例为4.9%
为免系统随机扰动导致的误差,重新测试了一遍
-- NONE2019-09-25 14:53:05,384 INFO - Term-00, Measured tpmC (NewOrders) = 7168.43 2019-09-25 14:53:05,384 INFO - Term-00, Measured tpmTOTAL = 15890.5 2019-09-25 14:53:05,384 INFO - Term-00, Session Start = 2019-09-25 14:48:052019-09-25 14:53:05,385 INFO - Term-00, Session End = 2019-09-25 14:53:052019-09-25 14:53:05,385 INFO - Term-00, Transaction Count = 79491[xdb@localhost run]$ -- vacuum full;-- client_min_messages=error2019-09-25 14:44:29,101 INFO - Term-00, Measured tpmC (NewOrders) = 7239.02 2019-09-25 14:44:29,101 INFO - Term-00, Measured tpmTOTAL = 16079.06 2019-09-25 14:44:29,101 INFO - Term-00, Session Start = 2019-09-25 14:39:282019-09-25 14:44:29,102 INFO - Term-00, Session End = 2019-09-25 14:44:292019-09-25 14:44:29,102 INFO - Term-00, Transaction Count = 80434-- vacuum full;-- update_process_title=off-- track_activities=off2019-09-25 15:01:11,861 INFO - Term-00, Measured tpmC (NewOrders) = 7253.43 2019-09-25 15:01:11,861 INFO - Term-00, Measured tpmTOTAL = 16111.73 2019-09-25 15:01:11,862 INFO - Term-00, Session Start = 2019-09-25 14:56:112019-09-25 15:01:11,862 INFO - Term-00, Session End = 2019-09-25 15:01:112019-09-25 15:01:11,862 INFO - Term-00, Transaction Count = 80584-- vacuum full;-- client_min_messages=error-- update_process_title=off-- track_activities=off2019-09-25 15:08:46,923 INFO - Term-00, Measured tpmC (NewOrders) = 7194.55 2019-09-25 15:08:46,923 INFO - Term-00, Measured tpmTOTAL = 16059.38 2019-09-25 15:08:46,923 INFO - Term-00, Session Start = 2019-09-25 15:03:462019-09-25 15:08:46,923 INFO - Term-00, Session End = 2019-09-25 15:08:462019-09-25 15:08:46,923 INFO - Term-00, Transaction Count = 80350似乎没有什么效果。
参考资料
Reducing log messages on the client
参数
客户
消息
不同
信息
大小
客户端
级别
过程
存储
测试
频繁
参考资料
工具
性能
情况
效果
比例
用以
简介
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
快手软件开发人是谁
板材套料软件开发商
网络安全基线扫描是什么意思
服务器2012设置远程连接
中小学生网络安全2021
服务器连接不到网络怎么办
骑马与砍杀正版建服务器
网络安全信息教育进校园
离线地图数据库 采购
普通主机做成服务器
网络技术与应用电大答案
数据库的四个技术
polkadot的网络安全性
数据库信息系统的核心技术
数据库作业个人总结
软件开发新思路
网络安全明辨主题教育心得
航比网络技术工作室
软路由如何搭建plex服务器
软件开发公司 金融
mt4服务器ip
新余香港服务器找哪家公司
茂名精益管理软件开发
tbc哪个服务器小战场好打
易语言检测数据库记录重复
阿帕奇服务器的搭建
游戏增强服务器
浪潮服务器默认管理ip网段
360 网络安全峰会
警媒网络安全发展