登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-11 22:54:32 324浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《增加 webapp 用户对 elastic beanstalk EC2 实例的打开文件限制》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我遇到了 aws elastic beanstalk 上服务器进程(生成 goroutine)的 webapp 用户的打开文件限制。

在我的本地环境中,开放 fd 限制为 8k,我能够很好地处理这个问题,但我无法增加 aws elastic beanstalk 上 webapp ec2 用户的限制。

根据 aws elastic beanstalk 上的 golang 开发说明,我有一个用于 web 进程的 procfile,如下所示:

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 用户似乎无权更改此类限制,因此如何在 elastic beanstalk 上实现此更改?


解决方案


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

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

#!/bin/bash

ulimit -Sn unlimited
./bin/server
exit 0

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

本篇关于《增加 webapp 用户对 elastic beanstalk EC2 实例的打开文件限制》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>