Max Performance of Nginx, PHP & PostgreSQL Chain

This blog post is the first in a series of articles on performance engineering (PE) research I did some time ago. I touched the topic of PE a bit in one of previous blog articles. This time it’ll be purely practical. The picture was generated by Nano Banana and contains pretty obvious errors. I decided…

Mental Models for Performance Engineering

I’ve been tinkering with performance engineering (PE) as one of the areas of interest for a while lately. From experience I built up a few mental models / metaphors which help with reasoning about systems performance. Let’s get through these mental models for performance engineering one by one. The most significant achievement thus far was…

Unsettling story of proxy_next_upstream in Nginx

It turns out that there’s quite a bunch of people who bumped into a particular Nginx upstream handling behavior. Not that long ago I also joined the club. It usually manifests as unavailability of some service behind Nginx as a reverse proxy. Clients start to get “502 Bad Gateway” after some change in the service…

How to manage CPU in Kubernetes and keep your foot safe

In today’s complex cloud-native landscapes, Kubernetes (aka k8s) stands as a pivotal technology that simplifies the management and orchestration of containerized applications. However, as developers and operators dive deeper into Kubernetes, it’s essential to understand how resource management within K8s operates, particularly regarding CPU requests and limits. This article aims to shed light on Kubernetes,…

Modern Email Essentials: DKIM, SPF, DMARC

It’s interesting to see how technology adoption cycles are repeating themselves for different technologies. One of such observations is how regular phone calls get through a security hardening similar to what email already got through. And the reason is exactly the same – spam. These days a lot of people employ some kind of calls…

Practical Problem Solving Meta-approaches: Part #3

This article is a part of series This article wraps up meta-approaches for practical problem solving. For a recap: meta-approach is an effective problem solving technique which I managed to capture over time as it manifests itself in work & life. We’re going to look into another triplet for this one. Root cause analysis (RCA)…

Problem Solving Techniques – Meta-approaches: Part #2

This article is a part of series Today more on practical meta-approaches: effective problem solving techniques which I managed to capture over time as they manifest themselves in work & life. Root cause analysis (RCA) via deep dive aka 5 whys You ran into a problem: something goes sideways. More formally some process metrics are…