Upgrade to Pro — share decks privately, control downloads, hide ads and more …

High Performance PHP

High Performance PHP

FrankenPHP, Open Swoole, RoadRunner

Christian Münch

February 06, 2025
Tweet

More Decks by Christian Münch

Other Decks in Technology

Transcript

  1. 1 1

  2. Alternative PHP-Server FrankenPHP PHP App Server Open Swoole programmatic Server

    for PHP with Async IO, Coroutines and Fibers RoadRunner high-performance PHP application server, load- balancer, and process manager 2 2 Christian Münch Christian Münch
  3. Traditionelle PHP-Runtime Apache, NGINX, mod_php, PHP-FPM, PeachPie, HHVM, Phalanger, ...

    Was ist der Vorteil des klassischen LAMP Stack? Warum werden alternative PHP- Laufzeitumgebungen immer wichtiger? 3 3 Christian Münch Christian Münch
  4. 4 4

  5. 5 5

  6. FrankenPHP Fakten Kévin Dunglas (Symfony Core Team, API Platform) Ist

    in golang geschrieben -> Single Binary Basiert auf dem Caddy Webserver Es gibt ein statisches und ein Docker Setup Es gibt einen Worker-Mode 6 6 Christian Münch Christian Münch
  7. Open Swoole HTTP, WebSocket, MQTT, gRPC, TCP/UDP - Server Async,

    Coroutines, Fibers Nachteile: Memory und Resource Leaks (stateless vs. stateful) Problematisch: $_GET, $_POST, $_COOKIE, $_SESSION, ... Debugging 16 16 Christian Münch Christian Münch
  8. Beispiel: Adobe Commerce GraphQL Server https://developer.adob e .co m/co mme

    rce /p hp /d evel o p me n t/ co mp o ne n t s/a p p- se rve r/ 25 25 Christian Münch Christian Münch
  9. RoadRunner High-performance PHP-to-Golang IPC bridge Persistente PHP-Worker Prozesse Langzeitstabilität (Logik

    zum automatischen Neustart von Workern) RoadRunner ist selbst ein PHP Prozessmanager Hochskalierbar Hat alles was ein moderner App-Server braucht Websockets, HTTP/2, gRPC, TCP ... 27 27 Christian Münch Christian Münch
  10. Roadrunner App Server Features OpenTelemetry Monitoring Metriken (Prometheus) Health Checks

    Temporal.io Workflow Engine Enterprise Queue Support (AMQP, Kafka, Redis, NATS, SQS, Beantalk, ...) Key-Value Store (Redis, Memcached, ...) 33 33 Christian Münch Christian Münch
  11. Benchmarks Stand: 17. Januar 2024 https://dev.to/di mdev /p e rfo

    rm an ce -be n chma rk- of- p hp- runt i me s-2l mc 37 37
  12. Q&A Was für Erfahrungen habt ihr mit alternativen PHP- Servern

    gemacht? Würdet ihr FrankenPHP, Swoole oder RoadRunner für euer nächstes Projekt verwenden? Nutzt ihr andere PHP Lösungen? Braucht ihr die Performance? Welche Fragen habt ihr noch? Beleibt neugierig! 38 38 Christian Münch Christian Münch