Page 18 - Web Performance
-
Maxim Mironjuk
-
July 08, 2025
Not every operation a web application performs has to finish before the user gets a response. Message queue-based offloading moves compute-heavy or slow tasks out of the synchronous request-response cycle into a queue, while still giving the user meaningful feedback right away.
-
Maxim Mironjuk
-
July 07, 2025
The window resize event was the first, but flawed, approach to size-dependent JavaScript. ResizeObserver watches individual DOM elements directly, regardless of whether the window changes, a sidebar panel opens, or a parent element grows dynamically.
-
Maxim Mironjuk
-
July 06, 2025
Most web applications read from the database far more often than they write to it, which turns the primary server into a bottleneck even though writes make up only a small share of the load. Read replicas distribute read traffic across additional server copies and take noticeable pressure off the primary.
-
Maxim Mironjuk
-
July 06, 2025
HTTP status codes and global response times say little about GraphQL APIs. Resolver latency, error classes, field usage and N+1 detection are the metrics that make real production problems visible.
-
Maxim Mironjuk
-
July 03, 2025
Expensive state updates block the main thread and freeze inputs. useTransition marks updates as low priority so React can render them interruptibly, inputs stay responsive, and isPending signals the loading state without useState overhead.
-
Maxim Mironjuk
-
June 28, 2025
Arrays are the most widely used data structure in JavaScript, yet only a handful of developers know the full scope of modern array methods. From flatMap through findLast to the non-mutating ES2023 methods toSorted and toReversed: this article shows which method is right for which job and how to avoid the typical performance pitfalls.
-
Maxim Mironjuk
-
June 25, 2025
A form gets submitted right when the connection drops. Instead of showing an error and discarding the input, the Background Sync API remembers the action and reliably replays it once the network returns, even if the tab has long been closed.
-
Maxim Mironjuk
-
June 24, 2025
A single process permanently consumes 100 percent CPU, but nobody knows why, there was no deploy and no configuration change. This article walks through the complete diagnostic path for mysterious CPU usage: from the first suspicion in top, through thread analysis and syscall tracing with strace, to the exact code path with perf.
-
Maxim Mironjuk
-
June 23, 2025
A single server inevitably hits limits as traffic grows, no matter how much RAM or CPU it gets. This article explains how Magento stores split web, database, search, and cache across dedicated servers, keep sessions centralized via Redis, deliver media consistently through NFS or S3, and run load balancers with proper health checks.
-
Maxim Mironjuk
-
June 23, 2025
React.memo, useMemo and useCallback are the most misunderstood performance tools in React. They get used everywhere, in the hope of making everything faster, or not at all. Both are wrong. Memoization has costs: comparison operations, memory for cached values and increased code complexity. Use it only where measured re-render problems actually exist.
-