增加 webapp 用户对弹性 beanstalk EC2 实例的打开文件限制

Increasing open files limit on elastic beanstalk EC2 instances for the webapp user

我 运行 进入 AWS Elastic Beanstalk 上服务器进程(生成 goroutine)的 webapp 用户的打开文件限制。

在我的本地环境中,开放 FD 限制为 8k,我可以很好地处理这个问题,但我无法增加 AWS Elastic Beanstalk 上 webapp EC2 用户的限制.

根据 AWS Elastic Beanstalk 上的 Golang 开发说明,我有一个 procfile 用于 web 进程,看起来像:

web: bin/server.sh

server.sh是:

#!/bin/bash

ulimit -n 32768
./bin/server
exit 0

我在 stdout 日志中收到错误:

web: bin/server.sh: line 3: ulimit: open files: cannot modify limit: Operation not permitted

我已经能够通过在部署过程的早期执行此操作来增加实例的 hard/soft 限制,使用 .ebextensions 文件夹中的文件,如此处的示例所示: https://github.com/awsdocs/elastic-beanstalk-samples/blob/main/configuration-files/aws-provided/instance-configuration/java-increase-file-descriptors.config 但这对 webapp 用户启动的我的应用程序进程没有任何影响。

提前致谢。

编辑:我意识到我的最后一个问题并不明显。由于 webapp 用户似乎没有更改此类限制的权限,我如何在 Elastic Beanstalk 上实现此更改?

我能够按照提出的概念解决这个问题 here

所以我的 server.sh 看起来像:

#!/bin/bash

ulimit -Sn unlimited
./bin/server
exit 0

现在,我的网络进程没有任何打开文件过多的问题。