我们的论坛经历了一次大规模的基础设施变更,现在性能不佳。
我已将数据库迁移到 DigitalOcean 的托管数据库,并将 S3 资产放在带有 Cloudflare 代理的 MinIO 实例上。
我还使用了一个较小的虚拟机重新部署了 Discourse,但该虚拟机仍有足够的资源来处理负载。
从我所看到的来看,有一些 PostgreSQL 查询花费的时间太长:
21 秒
![]()
19 秒
![]()
所以要撤销它?
不过也许其他人尝试过,并且会提供改进此类设置的技巧。
为什么不支持?
Discourse 在 app.yml 中提供了外部数据库的选项?
我正在尝试扩展一个大型服务器。
1 个赞
抱歉,我先把它移除 ![]()
托管数据库离您的实例有多近?它们在同一个网络中吗?
是的,服务器也是 DO。
我现在将使用支持的指南进行一个纯粹的安装,并导入数据库。
我看看会发生什么。
有没有办法手动运行那些数据库迁移?
但是听起来你的 postgres 服务器不足以处理负载?你的数据库有多大?你的 postgres 服务器有多少内存?
也许你应该先看看你的 postgres 服务器是否正常工作?
嗯,主要是只有标准安装是“受支持的”。外部数据库应该可以工作,但你增加了很多变量,很难猜测。
那更不受支持了,有多大?然后有多少东西有多大?数据库、数据库服务器、你运行的虚拟机、虚拟机和数据库之间的带宽……
这是一个很好的开始,然后你可以开始逐项检查。
通常它会在你引导容器时发生,但你可以进入容器并运行
cd /var/www/discourse
bin/rails db:migrate
2 个赞
即使是简单的全新安装也不起作用,甚至还没有恢复数据库。
在干净的虚拟机上执行了 discourse-setup,但注册不起作用。
尝试通过命令行恢复,但 discourse restore 没有列出备份。
编辑:在第二次完全重建后可以工作了。