amazon-web-services - 为 webapp 用户增加弹性 beanstalk EC2 实例的打开文件限制
问题描述
我webapp
在 AWS Elastic Beanstalk 上遇到了服务器进程(生成 goroutine)的用户打开文件限制。
在我的本地环境中,开放 FD 限制为 8k,我能够很好地处理这个问题,但我无法增加webapp
AWS Elastic Beanstalk 上 EC2 用户的限制。
根据 AWS Elastic Beanstalk 上的 Golang 开发说明,我有一个procfile
流程web
,如下所示:
web: bin/server.sh
并且server.sh
是:
#!/bin/bash
ulimit -n 32768
./bin/server
exit 0
我在标准输出日志中得到错误:
web: bin/server.sh: line 3: ulimit: open files: cannot modify limit: Operation not permitted
我已经能够通过在部署过程的早期使用文件.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 上实现此更改?
解决方案
我能够通过遵循这里提出的概念来解决这个问题
所以我的server.sh
样子:
#!/bin/bash
ulimit -Sn unlimited
./bin/server
exit 0
现在,我的 Web 进程没有太多打开文件的问题。
推荐阅读
- r - R Barplot:Y轴在顶部被切断?
- python - 如何在 Python 中使用 Fuzzywuzzy 加速模糊匹配
- flexbox - 使用 flexbox 在图像上覆盖 bootstrap 4 透明导航栏
- python - Python中基于多个复杂条件的join
- android - 为什么我的 html 文件没有显示在 android 应用程序中?
- c# - 如何比较对象
- java - “SQLiteDatabase.insert(TABLE_NAME,null,ContentValues);” 显示“数据类型不匹配”错误
- r - 是否可以垂直调整闪避条形图中的标签?
- python - Python中的操作顺序
- javascript - 将参数传递给函数