Как избежать проблемы «слишком много открытых файлов» в балансировщике нагрузки, каковы побочные эффекты установки более высокого значения ulimit -n? - PullRequest
2 голосов
/ 20 октября 2011

При балансировке нагрузки в производственной системе с большой нагрузкой на запросы или при нагрузочном тестировании мы сталкиваемся с проблемой «Слишком много открытых файлов», как показано ниже.

[2011-06-09 20:48:31,852]  WARN - HttpCoreNIOListener System may be unstable: IOReactor encountered a checked exception : Too many open files
java.io.IOException: Too many open files
    at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:152)
    at org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvent(DefaultListeningIOReactor.java:129)
    at org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvents(DefaultListeningIOReactor.java:113)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:315)
    at org.apache.synapse.transport.nhttp.HttpCoreNIOListener$2.run(HttpCoreNIOListener.java:253)
    at java.lang.Thread.run(Thread.java:662)

Это исключение возникает в распределителе нагрузки,если максимально допустимое количество файлов (ulimit), которое нужно открыть, установлено на низкий уровень.мы можем исправить вышеупомянутое исключение, увеличив ulimit, дав более высокое значение (данное здесь 655350).ulimit -n 655350

однако установка ulimit -n на большее число может повлиять на общую производительность балансировщика нагрузки и, следовательно, на время отклика нашего сайта беспрецедентными способами.Любые известные побочные эффекты, устанавливающие unumber -n в более высокое значение?

1 Ответ

0 голосов
/ 30 октября 2012

Побочные эффекты будут именно такими: при нормальных обстоятельствах вы хотите ограничить количество дескрипторов открытых файлов для процесса, чтобы он не исчерпывал доступные файловые дескрипторы и не делал другие плохие вещи из-за ошибок программирования или DoS-атак. Если вам удобно, что ваша система не будет этого делать (или просто не будет работать в нормальных пределах!), То других побочных эффектов нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...