Workerman поддерживает множество одновременных подключений.

Понятие одновременных подключений слишком неопределенное, здесь рассматриваются два количественных показателя: одновременное количество соединений и одновременное количество запросов.

Одновременное количество соединений относится к общему количеству TCP-соединений, удерживаемых сервером в текущий момент времени, независимо от того, происходит ли на этих соединениях передача данных. Например, на сервере для рассылки сообщений может быть установлено миллион соединений с устройствами, но из-за редкой передачи данных нагрузка на сервер может быть практически равна нулю, и при наличии достаточного объема оперативной памяти сервер может продолжать принимать соединения.

Одновременное количество запросов обычно измеряется в запросах в секунду (QPS) и не очень зависит от количества TCP-соединений на сервере в текущий момент времени. Например, на сервере может быть всего 10 клиентских подключений, каждое из которых получает 10 000 запросов в секунду, что означает, что сервер должен справляться как минимум с 10 * 10 000 = 100 000 запросов в секунду. Предположим, что 100 000 запросов в секунду является пределом для этого сервера; в таком случае, если каждый клиент каждую секунду отправляет только один запрос на сервер, то этот сервер сможет обслужить 100 000 клиентов.

Одновременное количество соединений ограничено объемом оперативной памяти сервера, и обычно сервер на workerman с 24 ГБ оперативной памяти может поддерживать около 120 000 одновременных соединений.

Одновременное количество запросов зависит от процессорной мощности сервера, и workerman сервер с 24 ядрами может достичь пропускной способности 450 000 запросов в секунду (QPS). Фактическое значение может изменяться в зависимости от сложности бизнес-логики и качества кода.

Примечание

В случае высокой нагрузки необходимо установить расширение event, см. главу по установке и настройке. Также необходимо оптимизировать ядро Linux, особенно ограничение количества открытых файлов процессами, см. приложение Оптимизация ядра.

Результаты тестирования

Данные предоставлены ведущими сторонними тестовыми организациями techempower.com в рамках 20-го круга тестирования
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=db&l=zik073-sf

Конфигурация сервера:
Всего ядер 14, всего потоков 28, 32 ГБ памяти, выделенный коммутатор Cisco 10-гигабитный Ethernet
Бизнес-логика:
Бизнес с запросами к базе данных, PostgreSQL, PHP8 + JIT
QPS составляет 390 000+