как настроить файловые дескрипторы уровня ОС для максимального повышения производительности ASIO

Я создаю сервер websocket ++, и я хочу быть уверенным, что получаю от этого все возможное падение производительности.

Автор zaphoyd сказал, что дескрипторы файлов на уровне ОС должны быть правильно настроены, чтобы иметь более 10 000 клиентских подключений. https://stackoverflow.com/a/15464445/1382306

Как это можно сделать для Linux / Ubuntu?

0

Решение

«Получение каждой последней капли производительности» — это не то, что вы можете сделать абстрактно. Это слишком сильно зависит от вашего приложения и среды. Чтобы получить полезный ответ, установите жгут для нагрузочного тестирования, запустите профилировщик и посмотрите, где что-то сломалось или где есть узкие места. Пока вы не сделаете это и не получите реальных сценариев и цифр, любые усилия, потраченные на «настройку производительности», скорее всего, будут потрачены впустую.

В частности, что касается вопроса о настройке серверов Linux, чтобы разрешить большое количество одновременных подключений. Каждое подключение требует файловый дескриптор. По умолчанию в Linux каждый процесс ограничен 1024 FD. Чтобы даже иметь> ~ 1024 соединения одновременно, вам нужно будет увеличить это ограничение. Это не влияет на производительность, скажем так, но требуется даже для того, чтобы начать думать о настройке производительности на высоких уровнях параллелизма.

для получения дополнительной информации см .: https://unix.stackexchange.com/questions/36841/why-is-number-of-open-files-limited-in-linux а также
https://serverfault.com/questions/190435/how-to-increase-open-files-limit-for-process-from-1024-to-10240

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]