>
Archives

linux

This tag is associated with 11 posts

Why Postgres Breaks Kubernetes container_memory_working_set_bytes Metric

Kubernetes metric container_memory_working_set_bytes is used for evicting/killing pods with too much memory use, especially if memory request < limit (don’t do this with Postgres). The metric is calculated from cgroups v2 memory.stat as current-inactive_file [source]. You’d assume it’s a good metric for memory usage in kubernetes. But with Postgres, this metric is very inaccurate for … Continue reading

Postgres Checkpoint Followup and Collation Visualization and Codex Luna

My previous article talked about the checkpoint happiness hint: You probably should not change the checkpoint_timeout setting from its default of 5 minutes. Checkpoint Followup Questions A good follow-up question was raised: can an HA replica can save you from downtime if you want to set a large checkpoint_timeout? It’s true that Postgres allows promoting … Continue reading

How Blocking-Lock Brownouts Can Escalate from Row-Level to Complete System Outages

This article is a shortened version. For the full writeup, go to https://github.com/ardentperf/pg-idle-test/tree/main/conn_exhaustion This test suite demonstrates a failure mode when application bugs which poison connection pools collide with PgBouncers that are missing peer config and positioned behind a load balancer. PgBouncer’s peering feature (added with v1.19 in 2023) should be configured if multiple PgBouncers are being used … Continue reading

KubeCon 2025: Bookmarks on Memory and Postgres

Just got home from KubeCon. One of my big goals for the trip was to make some progress in a few areas of postgres and kubernetes – primarily around allowing more flexible use of the linux page cache and avoiding OOM kills with less hardware overprovisioning. When I look at Postgres on Kubernetes, I think … Continue reading

Collation Torture Test versus Debian

Collation torture test results are finally finished and uploaded for Debian. https://github.com/ardentperf/glibc-unicode-sorting The test did not pick up any changes in en_US sort order for either Bullseye or Bookworm 🎉️ Buster has glibc 2.28 so it shows lots of changes – as expected. The postgres wiki had claimed that Jessie(8) to Stretch(9) upgrades were safe. … Continue reading

Postgres Per-Connection Statistics

I’ve had a wish list for a few years now of observability-related things I’d love to see someday in community/open-source Postgres. A few items from my wish list: As I’ve noted in a few places, there has been slow and steady progress in Postgres over recent years. There’s also plenty of good discussion continuing on … Continue reading

Kubernetes Requests and Limits for Postgres

As Joe Drumgoole said a few days ago: so many Postgres providers. Aiven, AWS, Azure, Crunchy, DigitalOcean, EDB, GCP, Heroku, Neon, Nile, Oracle, Supabase, Tembo, Timescale, Xata, Yugabyte… 🤯 I’m sure there’s more I missed. And that’s not even the providers using Postgres underneath services they offer with a different focus than Postgres compatibility. (I … Continue reading

Copy-and-Paste A New Postgres Dev Env In 5 Min

You can cut-and-paste the following commands to quickly get a new & clean dev environment for working with PostgreSQL source code. This includes Michael Paquier’s powerful script kit for managing the PostgreSQL development environment. Setting up from scratch takes me about 5 minutes, plus 3 minutes to configure, compile and install PostgreSQL for testing. Running the … Continue reading

Researching the Performance Puzzle

The PostgreSQL Performance Puzzle was, perhaps, too easy – it didn’t take long for someone to guess the correct answer! But I didn’t see much discussion about why the difference or what was happening. My emphasis on the magnitude of the difference was a tip-off that there’s much more than meets the eye with this … Continue reading

Understanding CPU on AIX Power SMT Systems

This month I worked with a chicagoland company to improve performance for eBusiness Suite on AIX. I’ve worked with databases running on AIX a number of times over the years now. Nevertheless, I got thrown for a loop this week. TLDR: In the end, it came down to a fundamental change in resource accounting that … Continue reading

Disclaimer

This is my personal website. The views expressed here are mine alone and may not reflect the views of my employer.

contact: 312-725-9249 or schneider @ ardentperf.com


https://about.me/jeremy_schneider

oaktableocmaceracattack

(a)

Enter your email address to receive notifications of new posts by email.

Join 75 other subscribers