2013-11-18 2 views
1

Я видел небольшое количество обсуждений здесь и там о настройке ulimit -n (файловых дескрипторов) в Linux при использовании узла. По умолчанию для большинства дистрибутивов Linux - 1024. Я нигде не могу найти рекомендаций. Обычно для apache вы бы установили его довольно высоко. Любые мысли по этому поводу? Легко установить его с самого начала, но не уверен, что есть необходимость. Мы используем Mongo удаленно, а не открываем много файлов локально.Node.js и ulimit

+0

Узел по своей природе не защитит вас от потребления/чрезмерного потребления, таким образом, есть случаи, когда вы должны поднять лимит, и некоторые, где вы должны строить по-разному (например, использование механизм очередей и одновременно выполняет только несколько одновременных элементов.) – Joe

+0

Да, сейчас мы делаем еще несколько нагрузочных тестов, и это совсем не безумие. У Amazon не было отличного ответа, как установить его. – CargoMeister

ответ

3

Я получил этот ответ назад от поддержки AWS, и она работает:

Что касается контейнера, каждый Beanstalk, например, представляет собой контейнер с Beanstalk программным обеспечением, которое будет загружать приложение при запуске, а также изменять параметры системы в зависимости от тип среды и папку .ebextensions в вашем приложении.

Итак, чтобы достичь моего предложения, вам нужно будет создать .ebextensions в своем приложении с указанным мной содержимым.

Подобно тому, как резюмировать, пожалуйста, создайте файл с именем app.config внутри папки .ebextensions на приложении, с помощью следующего (обновлено) содержания:

files: 
"/etc/security/limits.conf": 
    mode: "00644" 
    owner: "root" 
    group: "root" 
    content: | 
     *    soft nofile   20000 
     *    hard nofile   20000 

commands: 
container_commands: 
     command: "ulimit -HSn 20000; service httpd restart;" 

После вы добавили этот файл, сохранить проект и сделать новое развертывание.

Что касается SSH, если вы хотите запустить пользователь с более ограничений, вы можете запустить следующую команду после того, как вы вошли в систему: Sudo су -c «ULIMIT -HSn 20000; су - EC2-пользователь»

И эта текущая сессия будет иметь пределы, которые вы так желаете.

Для справки: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-services https://unix.stackexchange.com/questions/29577/ulimit-difference-between-hard-and-soft-limits http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

Смежные вопросы