Page 27 - Web Performance
-
Maxim Mironjuk
-
February 07, 2025
POST requests with a dynamic body aren't readily cacheable by classic HTTP caches, yet that's exactly the default transport for GraphQL. GraphQL response caching with Varnish and CDN edge caching clears this hurdle through GET queries, persisted queries and surrogate keys, so responses land at the edge before they ever reach the origin server.
-
Maxim Mironjuk
-
February 06, 2025
Tree shaking is the process by which modern bundlers remove unused JavaScript code from the final bundle. What sounds simple has complex prerequisites: ES modules are mandatory, certain code patterns block tree shaking, and misconfigured sideEffects flags can eliminate or preserve entire modules, with measurable effects on load times.
-
Maxim Mironjuk
-
February 06, 2025
Every additional second of load time in the checkout demonstrably costs revenue, especially on mobile devices with a weak connection. Checkout performance in Magento 2 depends on concrete, measurable areas: totals calculation, the number of redundant API calls, session storage, and external services such as fraud checks or shipping cost calculation.
-
Maxim Mironjuk
-
February 04, 2025
Every Symfony request needs a ready dependency injection container, and how that container gets built, compiled and cached decides a significant share of boot time. Container warmup with cache:warmup moves the expensive compilation out of the request and into the deployment phase.
-
Maxim Mironjuk
-
February 03, 2025
Running a Magento store into Black Friday without systematic load testing means relying on guesses instead of measurements. This article shows how load, stress, and spike tests differ, how to model realistic traffic patterns with k6, JMeter, and Locust, and which metrics beyond response time actually determine a store's true capacity.
-
Maxim Mironjuk
-
February 02, 2025
Long product listings, article feeds and documentation pages force the browser to calculate layout and style for thousands of elements, even though only a fraction of them is ever visible. content-visibility skips this work for offscreen regions on purpose, turning a sluggish long page into one that feels as fast as a short one.
-
Maxim Mironjuk
-
February 01, 2025
Swoole Coroutines let PHP handle thousands of concurrent tasks efficiently without spawning threads or extra processes. Once you understand how the cooperative coroutine scheduler works, and how channels and WaitGroup synchronize results, you can use Swoole Coroutines for real concurrency in PHP without inheriting the classic pitfalls of threading.
-
Maxim Mironjuk
-
January 30, 2025
An ordinary array used as a cache with objects as keys or values prevents those objects from ever being collected by the garbage collector as long as the cache itself exists, and that is exactly what leads to creeping memory leaks in long running processes. WeakMap solves this problem structurally by removing the cache's own influence on the lifetime of the referenced objects.
-
Maxim Mironjuk
-
January 29, 2025
A health check that only verifies the web server responds reports a store as healthy even when the database is stuck, search is down, or the message queue is backed up. A well designed health check endpoint verifies real dependencies and stops a load balancer from sending more traffic to a broken node.
-
Maxim Mironjuk
-
January 27, 2025
object-fit decides whether an image gets stretched, cropped, or shown unchanged inside its container, while object-position sets the focal point of that crop. Together they replace server-side image cropping for most layout cases, and unlike background-size, they still work with real img and video elements, including alt text and loading optimizations.
-