角色“用户名” heroku nodejs的连接过多-什么是yobuko?

时间:2018-09-07 06:24:00

标签: heroku heroku-postgres

我有两个站点开始因角色错误而接收到过多的连接。

该站点每天因该错误而崩溃几次,唯一有用的是cli heroku pg:killall

该应用程序正确释放了所有连接-这是一个使用postgres连接池的非常简单且基本的应用程序。

当我在pgadmin上查看打开的会话时,我看到了名为“ yobuko”的多个连接。

enter image description here

按照我的描述,它会打开越来越多的连接,直到达到20个连接限制并崩溃我的应用程序。

什么是yobuko,谁将它放到我的数据库中,如何阻止它杀死我的网站?

在没有更好答案的情况下-我将编写一个脚本来搜寻这些连接并每隔几分钟杀死它们。

我使用的是爱好开发数据库级别,根据this article on heroku的要求,只要我每月接受最多4个小时的停机时间(我可以)

编辑: 当我拥有Yobuko连接时,我还开始拥有其他连接,称为“ puma:集群工作者XX”。

它们运行的​​最后一个SQL是:

SELECT "oid", "typname" FROM "pg_type" WHERE (("typtype" = 'b') AND 
("typname" IN ('hstore')))

以下是屏幕截图: enter image description here

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。 Heroku提示我使用select pg_terminate_backend(sub1.pid) from (select pid from pg_stat_activity where application_name = 'yobuko' and state = 'idle') as sub1;来有选择地杀死空闲连接。我将尝试将其与Scheduler插件结合使用以自动运行它。

原因是他们用于爱好层数据库的监视工具发生故障(可能意味着标准层及更高版本不受影响)。他们正在修复,但还没有时间表。

答案 1 :(得分:0)

似乎从2018年5月9日到2018年9月13日,Heroku的eu爱好开发数据库出现问题。 他们的内部工具发生了连接泄漏,从而打开了应用名称为yobuku和另一个应用名称为puma cluster worker的连接。

唯一的办法是每隔几个小时手动终止这些连接。

问题现在似乎已解决。

相关问题