postgressql配置参数的性能优化

pg配置参数的性能优化:

PostgreSQL的配置文件是数据库目录(/opt/PostgresPlus/8.3/data)下的 postgresql.conf文件, 8.0以后的版本可支持K,M,G这样的参数,只要修改相应 参数后重新启动PostgreSQL服务就OK了。

[color=red]shared_buffers[/color]:这是最重要的参数,postgresql通过shared_buffers和内核 和磁盘打交道,因此应该尽量大,让更多的数据缓存在shared_buffers中。通常设 置为实际RAM的10%是合理的,比如50000(400M)

[color=red]work_mem[/color]: EnterpriseDB在执行排序操作时,会根据work_mem的大小决定是 否将一个大的结果集拆分为几个小的和 work_mem查不多大小的临时文件。显然拆 分的结果是降低了排序的速度。因此增加work_mem有助于提高
因此增加work_mem有助于提高排序的速度。通常设 置为实际RAM的2% -4%,根据需要排序结果集的大小而定,比如81920(80M)

[color=red]effective_cache_size[/color]:是PostgreSQL能够使用的最大缓存,这个数字对 于独立的PostgreSQL服务器而言应该足够大,比如4G的内存,可以设置为3.5G (437500)

[color=red]maintence_work_mem[/color]:这里定义的内存只是在CREATE INDEX, VACUUM等时用 到,因此用到的频率不高,但是往往这些指令消耗比较多的资源,因此应该尽快让 这些指令快速执行完毕:给 maintence_work_mem大的内存,比如512M(524288)

[color=red]max_connections[/color]: 通常,max_connections的目的是防止max_connections * work_mem超出了实际内存大小。
比如,如果将work_mem设置为实际内存的2%大小, 则在极端情况下,如果有50个查询都有排序要求,而且都使用2%的内存,则会导 致swap的产生,系统性能就会大大降低。当然,如果有4G的内存,同时出现50个如 此大的查询的几率应该是很小的。不过,要清楚 max_connections和work_mem的关系。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL中,可以通过修改`pg_hba.conf`文件来配置登录失败处理策略。`pg_hba.conf`文件用于控制客户端如何连接到PostgreSQL服务器,并且可以设置不同的安全策略。 在`pg_hba.conf`文件中,可以设置不同的认证类型、IP地址范围、用户名等参数,以控制客户端连接的权限和安全性。对于登录失败的处理策略,可以使用`auth_failures_limit`和`auth_failures_time`参数来控制。 `auth_failures_limit`参数用于设置在`auth_failures_time`时间内允许的最大认证失败次数。例如,将`auth_failures_limit`设置为3,将`auth_failures_time`设置为1分钟,表示在1分钟内,允许用户最多尝试3次认证失败。 修改`pg_hba.conf`文件后,需要重启PostgreSQL服务器才能使配置生效。 下面是一个`pg_hba.conf`文件的示例,演示了如何设置登录失败处理策略: ``` # TYPE DATABASE USER ADDRESS METHOD host all all 0.0.0.0/0 md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5 # Allow all users to connect if they have a valid certificate. # This is for SSL client certificates. See the documentation for # `ssl_crl_file' and `ssl_crl_directory' for how to configure the server # to check the client's certificate revocation status. hostssl all all all cert clientcert=1 # Allow users to connect if they are authenticated via GSSAPI or SSPI. # Note that this includes Kerberos password authentication in GSSAPI. # See the documentation for `krb_server_keyfile' and # `krb_srvname' for how to configure the server for Kerberos. host all all 0.0.0.0/0 gss host all all 0.0.0.0/0 sspi host all all ::1/128 gss host all all ::1/128 sspi # Example of setting auth_failure_limit and auth_failure_time host all all 0.0.0.0/0 md5 auth_failure_limit=3 auth_failure_time=1min ``` 在上述示例中,最后一行设置了`auth_failure_limit`为3,`auth_failure_time`为1分钟。当用户在1分钟内尝试登录3次失败后,服务器将会拒绝该用户的连接请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值