Workerman — высокопроизводительный фреймворк (php)

Workerman — это высокопроизводительный фреймворк для серверов сокетов PHP. Workerman основан на многопроцессорной PHP и библиотеке опроса событий libevent. Разработчики PHP могут разрабатывать свои собственные сетевые приложения, такие как службы Rpc, серверы чатов, сервер мобильных игр и т.д.

Workerman

Цель workerman — упростить разработчикам PHP разработку высокопроизводительных сервисов приложений на основе сокетов без необходимости разбираться в деталях сокета PHP и многопроцессорности PHP. Workerman сам по себе представляет собой многопроцессорный серверный фреймворк PHP с модулями управления процессами PHP и связи сокетов, поэтому он может работать независимо, не полагаясь на такие контейнеры, как php-fpm, nginx или apache.

Функции, поддерживаемые Workerman

  • Разработка на чистом PHP, поддержка нескольких процессов, поддержка php8
  • Поддержка TCP / UDP, одна машина может поддерживать 100 000 длинных соединений TCP
  • Поддержка распределенного развертывания, кластеры могут поддерживать миллионы или более одновременных TCP-соединений
  • Поддержка события libevent для запуска сетевой библиотеки
  • Поддержка горячего обновления и плавного перезапуска сервера
  • Имеет множество высокопроизводительных компонентов, таких как асинхронный Mysql, Redis, Dns и т.д.

Встроенный мониторинг

У workerman есть модуль статистики мониторинга, который может подсчитывать некоторые данные самого workerman, такие как количество выходов из процесса и статус выхода, размер памяти каждого процесса и отслеживаемый IP-порт, время запуска каждого процесса, сервис имя запущенного процесса.

Количество запросов, обработанных процессом, количество соединений, количество неудачных передач пакетов и так далее.

Эту информацию можно запускать и php start.php status просматривать локально.

На GitHub есть тесты: Какой самый быстрый?

Language Framework Speed (64) Speed (256)
1. java (11) activej (3.0) 172 874.98 214 039.81
2. php (7.4) workerman (4.0) 149 415.01 182 618.83
3. go (1.15) gearbox (1.1) 121 267.09 124 517.21
4. go (1.15) fiber (2.3) 120 760.89 129 919.56
5. nim (1.4) httpbeast (0.2) 117 678.99 146 365.75

GitHub: github.com/the-benchmarker/web-frameworks

Закрыт