Seite 20 - Web Performance
-
Maxim Mironjuk
-
Februar 04, 2025
Wenn Animationen von Laufzeitwerten abhaengen, unterbrechbar sein muessen oder sich mit anderen Animationen synchronisieren sollen, stoesst reines CSS an Grenzen. Die Web Animations API loest genau das, mit derselben Compositor-Performance wie native CSS-Animationen und voller programmatischer Kontrolle ueber jede laufende Animation.
-
Maxim Mironjuk
-
Februar 04, 2025
Wer jedes Objekt in Vue 3 blind mit reactive umwandelt, zahlt bei großen Datenmengen einen messbaren Proxy-Overhead. Diese Vue Reaktivitäts Performance Anleitung zeigt, wie shallowRef, shallowReactive, markRaw und toRaw das Reaktivitätssystem gezielt entlasten, ohne Funktionalität zu verlieren.
-
Maxim Mironjuk
-
Februar 02, 2025
Die Notifications API zeigt nur an, was bereits im Browser liegt. Wer Nutzer wirklich erreichen will, auch wenn der Tab laengst geschlossen ist, braucht die Web Push API: VAPID-Identitaet, Push-Subscription und einen Server, der ueber den Push-Dienst des Browsers zustellt.
-
Maxim Mironjuk
-
Februar 02, 2025
Ein einzelner Listen-Query gefolgt von einer Query pro Element im Loop wirkt im Entwicklungsalltag harmlos, verwandelt sich unter Produktionslast jedoch in hunderte oder tausende Datenbankaufrufe pro Seitenaufruf. Dieser Artikel zeigt, wie sich das N+1-Query-Problem in ORM- und Collection-Code erkennt, mit Eager Loading und Batch-Queries beheben und mit Profiling-Tools dauerhaft überwachen lässt.
-
Maxim Mironjuk
-
Februar 01, 2025
Jede Symfony-Anfrage kompiliert ohne Preloading dieselben tausend Klassen erneut aus dem OPcache-Bytecode. Mit opcache.preload und einem sauberen preload.php landen Container, Router und Kernel-Klassen dauerhaft im Speicher jedes PHP-FPM-Workers, bevor die erste Anfrage überhaupt ankommt.
-
Maxim Mironjuk
-
Januar 30, 2025
Ein hängender oder ständig neu berechnender Indexer bremst den gesamten Shop aus, von veralteten Preisen bis zu leeren Suchergebnissen. Dieser Artikel erklärt, welche Indexer-Modi es gibt, warum der Price Index und Category Products am teuersten sind, welche Änderungen einen ungewollten Full-Reindex auslösen und wie ihr hängende Indexer über indexer:status, die Tabelle indexer_state und wachsende Mview-Changelogs zuverlässig diagnostiziert und behebt.
-
Maxim Mironjuk
-
Januar 29, 2025
PHP verwaltet Speicher scheinbar unsichtbar im Hintergrund, doch wer versteht, wie Reference Counting, der Zend Memory Manager und die Garbage Collection tatsächlich zusammenspielen, erkennt Speicherlecks in langlebigen Prozessen, bevor sie zum Produktionsproblem werden. Dieser Artikel erklärt die zval-Struktur, zirkuläre Referenzen, den Algorithmus des Cycle Collectors und die praktischen Werkzeuge zur Diagnose, für PHP-Entwickler, die tiefer als bis zu memory_limit denken wollen.
-
Maxim Mironjuk
-
Januar 28, 2025
Der Symfony-Profiler zeigt, was in einem Request passiert ist, aber Blackfire zeigt, warum es so lange gedauert hat. Mit Callgraphs, Referenz-Profilen und CI-Integration deckt Blackfire Profiling exakt jene Funktionsaufrufe auf, die eine Symfony-Anwendung wirklich ausbremsen.
-
Maxim Mironjuk
-
Januar 25, 2025
Auf Multi-Core-Servern landen Netzwerkkarten-Interrupts ohne gezielte IRQ-Affinity oft alle auf demselben CPU-Kern, waehrend die restlichen Kerne unbeteiligt bleiben. Bei hoher Paketrate wird dieser eine Kern zum Flaschenhals, lange bevor die Gesamt-CPU-Auslastung des Servers auch nur annaehernd ausgereizt ist.
-
Maxim Mironjuk
-
Januar 25, 2025
Kaum ein Performance-Problem trifft GraphQL-APIs so zuverlässig wie das N+1-Problem: Eine harmlos aussehende, verschachtelte Anfrage löst im Hintergrund hunderte einzelne Datenbankabfragen aus. Das DataLoader-Pattern löst dieses Problem systematisch durch Batching und Request-scoped Caching.
-