PostgreSQL DBA(96) - System Conf(client_min_messages)
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,PostgreSQL提供了参数client_min_messages用以控制返回给客户的消息级别,不同的级别返回的消息大小不同,默认为NOTICE。在通常情况下,如果客户端执行的SQL语句不频繁的话,
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
gmod多人游戏不显示服务器
罗定租房软件开发
用友云服务器
数据库的默认扩展名是
数据库服务器备份失败
武冈服务器死过傻子吗
邮件服务器监控
郑州软件开发应聘
从上往下流行的数据库有哪些
永康软件开发部
万网数据库的主机是什么
服务器如何看硬盘有多少个
本地服务器怎么防护
艺典数据库
游卡网络技术有限公司招聘
数据库字符串型数据李白
学习网络技术的影响
软件开发企业开发费用明细
软考数据库工程师下午题解析
网络安全生产宣传报道
数据库的安全性包含哪些方面
在北京做软件开发一月工资
2018年网络安全考试答题
山西卫星时钟服务器云服务器
22年网络安全宣传周
专业自动测试软件开发
郑州网络安全部
洛阳数字货币软件开发
网络安全 简略作文
ddos网络安全方案