我刚开始在AWS上托管Serverless。我通过拉勒维尔蒸气配置了一个工作的无服务器环境,但是负载很高。
高负载是在几秒钟内完成10k请求,所有这些请求都会在数据库中进行更改。
我现在使用的是PostgreSQL-数据库实例(db.t3.micro),而不是Serverless版本,并发现有一些请求是可以处理的:“SQLSTATE08006致命:剩余的连接插槽保留给非复制的超级用户连接”
我怎么才能解决这个问题?用一个Serverless实例或缩放固定大小的PostgreSQL来替换它?
队列本身是没有服务器的,还是我可以为队列指定更多的内存?还是将其与实例本身获得的内存结合起来?
这是当前的vapor.yml文件
id: ---
name: foobar-***
separate-vendor: true
environments:
staging:
warm: 10
scheduler: false
timeout: 60
memory: 1024
queue-memory: 2048
cli-memory: 512
cache: serverless
database: “database-***"
max_connections: 10000
balancer: “**-balancer"
runtime: php-7.4
build:
- "COMPOSER_MIRROR_PATH_REPOS=1 composer install"
- "php artisan event:cache"
- "php artisan migrate --force"
domain: "*.domain.app"发布于 2021-02-24 10:17:52
此错误与数据库上的最大连接有关。
打电话给show max_connections;看看这个限制是什么。对于t3.micro,这将是112个AWS文档。
随着一个更大的DB实例,这将自动增加,但是您可以只覆盖分配给RDS实例的parameter中的参数。
更改一个名为max_connctions的号码,直到找到适合您的数字为止。
https://serverfault.com/questions/1042877
复制相似问题