PHP-FPM-Worker, die den Host auffraßen
RSS wuchs nach jedem Katalog-Request. Das Leck war Copy-on-Write, nicht ein fehlendes unset().
Ablauf
Ausführliche Berichte über frühere Business-Projekte. Was das Ziel war, welche Entscheidungen fielen und was sich nach dem Release geändert hat.
RSS wuchs nach jedem Katalog-Request. Das Leck war Copy-on-Write, nicht ein fehlendes unset().
Zwei Stores, je eine Aufgabe. Seiten liegen in Memcached. Der Rebuild-Lock liegt in Redis.
Drei Locales in einer JSON-Spalte blähten jede Liste auf. Ein gepackter Slab in Memcached halbierte den Worker-Heap.
Redis lief voll mit serialisiertem Eloquent. Die Queue war langsam, weil das Payload der Katalog war.
Vue SSR renderte Russisch und allokierte trotzdem die en- und de-Dateien. Das Isolat wuchs mit jeder Seite.
nginx cachte HTML pro auth_token. Die Trefferquote starb. Öffentliche Seiten brauchen das Cookie nicht im Key.
ORDER BY JSON_EXTRACT füllte eine Temp-Tabelle. Vierzig Zeilen kosteten trotzdem einen Filesort über fünfzigtausend SKUs.
PHP-FPM war nicht langsam. Docker-NAT auf Port 9000 warf SYNs, als der Backlog bei 128 endete.
withoutOverlapping lag in Memcached. HTML-Eviction warf den Mutex. Vier Rebuilds schrieben einen Listen-Key.
Redis lief voll mit laravel_session-Blobs. Horizon verlor reserved Jobs an allkeys-lru.
Der php-Dienst mountete apps/. Jeder Request machte stat() über virtiofs. OPcache-Hits waren Rauschen.
compose restart php tötete FCGI im Flug. nginx lieferte 502. Ein halb geschriebener Memcached-Key blieb.
ATTR_PERSISTENT bei php-fpm, Horizon und schedule. max_connections 151. Too many connections mittags.
Vue SSR schrieb 14 Jul in UTC. Der Client schrieb 13 Jul in Berlin. Hydration fiel, die Seite renderte zweimal.
WHERE title->>'ru' ILIKE scannte fünfzigtausend JSONB-Zeilen. Der GIN war für Tags. Der Katalog zahlte den Extract.
Der Provider lieferte 200. Der Worker starb vor dem Ack. Redis lieferte erneut. Unique-Middleware deckte SIGKILL nicht.
Der Docker-Healthcheck wurde Liveness. Der erste Request kompilierte LaraBoom. Kubelet schickte SIGKILL. Die Replica wurde nie Ready.
Der Katalog war Vue-SSR. Eine gemeinsame Insel lief React. Daten wichen ab. Die Seite malte zweimal und schickte den CMS-Graph.
Cloudflare cachte das erste HTML zur URL. Ein de-Besucher bekam ru-Markup. Vue hydrierte die falsche Sprache und navigierte.