暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Halo数据库的资源管理

冷狼 2024-01-15
169

1 限制 CPU 使用率

pg_pcpu_limit 的原理: 为进程预设一个 cpu 占用率上限,并实时监控进程是否超出此上限值,若超出则让该进程暂停运行一段时间。pg_pcpu_limit 使用 SIGSTOP 和 SIGCONT 这两个信号来控制进程。它不会修改进程的 nice 值,而是通过监控进程的 CPU 占用率来做出动态调整。

限制程序CPU使用率:

 1) 指定PID号

  # 限制PID 为21203 的程式其CPU 用量上限为50%

pg_pcpu_limit --pid 21203 --limit 50

2)指定程序的名称

  pg_pcpu_limit --exe md5sum --limit 50

  --pid是进程号

  --limit是进程使用CPU百分比。

  --exe是程序名称

CPU资源控制步骤

  1)启动一个客户进程,cpu资源占满进程

   打开hsql运行一个过程,代码如下

   DECLARE

    V_A NUMBER;

BEGIN

   while(true)

    loop

     V_A := factorial(20000);

    end loop;

END;

/


查看CPU使用资源情况,使用命令top

3)使用命令来限制CPU资源

pg_pcpu_limit -p 进程PID -l 使用率

Pg_pcpu_limit -p 1507281 -l 40


4) 查看CPU使用资源情况,使用命令top

 

2 限制用户的连接数

创建用户,并限制。

create user test with password 'halo';

限制用户连接数。

alter user test connection limit 2;

连接到第3个会话,并且同时用用户test连接,会话连接不上会报错。


3 空闲时会话退出时长

 idle_session_timeout

当一个会话连接长时间没有执行或者活动时,会将会话释放,可以释放缓存。

idle_session_timeout:默认值为0,表示禁用,其单位是毫秒。

alter system set idle_session_timeout=5000;

select pg_reload_conf();

show idle_session_timeout;

过5S后输入命令,就需要重连接。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论