共享 postgres 实例的 worker dyno 会降低 web dyno 的性能吗?

Will a worker dyno sharing a postgres instance degrade the performance for the web dyno?

我有一个标准的 web dyno 和 worker dyno 连接到同一个标准 0 数据库。

worker dyno 运行后台作业,将大量数据插入数据库。当工作人员 运行 浏览我的网站时,我感觉我注意到响应时间变慢了。

我总是远低于 120 个连接限制。这是我的想象还是它对阅读时间有影响?如果是这样,人们如何缓解它?

从数据库的角度来看,来自 web dynos 和 worker dynos 的连接没有区别;他们都只是数据库的客户端。

如果您的 worker dynos 一直在进行大量插入,那么它们肯定会影响查询性能,因为这会给数据库带来很大的负载;这对您的 Web 响应时间的影响取决于您的特定应用程序。

我建议首先查看用于数据库性能调优的 Heroku Postgres 工具。 https://devcenter.heroku.com/articles/heroku-postgres-database-tuning

在不了解您的应用程序的更多信息的情况下,我会说您可以从查看与您的网络请求相关的最慢查询开始,并将它们与启用和不启用工作人员的查询时间进行比较。