【发布时间】:2022-06-14 17:09:31
【问题描述】:
我有一个使用 laravel 构建的产品,具有多租户功能。 部署在 EC2 实例上,使用 AWS RDS 作为数据库服务器。
我目前在生产中拥有大约 100 个数据库。 Laravel 的 hyn 租户模块正在处理连接。
现在,问题在于每个租户在闲置一段时间后,第一个请求花费的时间太长。大约 15-20 秒。之后,它就可以顺利运行了。
在测试环境中,我们使用的不是RDS,而是一个本地的MySQL实例。并且在测试环境中不会出现问题。测试和生产之间的唯一区别是 AWS RDS。
我已经研究了最大连接数、查询缓存等等……但到目前为止还没有运气。
有什么建议吗?
【问题讨论】:
-
这是极光还是普通RDS?
-
它的正常 RDS @ErmiyaEskandary
-
如果我没记错的话,RDS 有一个设置,即数据库将进入“空闲”模式,之后需要“唤醒”。这就是为什么第一次查询需要一段时间。我相信这是一个节省成本的设置,但它增加了烦恼。
-
@PauloHgo 任何可能的解决方案?
标签: php mysql laravel amazon-ec2 amazon-rds