>
Archives

performance

This tag is associated with 22 posts

Good Benchmark Engineers and Postgres Benchmark Week

There are four major components to being a good benchmark engineer: Methodology: A good benchmark engineer defines the goals and non-goals of the exercise, makes strong choices on variables in the experiment, configures the SUT in a valid manner, and makes smart decisions about when and how to iterate the test. Investigation: A good benchmark … Continue reading →

Postgres Indexes, Partitioning and LWLock:LockManager Scalability

I have decided that – in Postgres circles – I shall henceforth refer to 2023 as THE YEAR OF THE LOCK MANAGER’S REVENGE. Let me explain. Lets start with Bruce Momjian. He has an in-depth presentation about locking in general with PostgreSQL called “Unlocking the Postgres Lock Manager“. I see online that he’s been giving … Continue reading →

UUID Benchmark War

This month’s PGSQL Phriday #015 topic is about UUIDs, hosted by Lætitia Avrot. Lætitia has called for a debate. No, no, no. I say let’s have an all-out war. A benchmark war. I have decided to orchestrate a benchmark war between four different methods of storing a primary key: use a text field to store … Continue reading →

Seattle User Group Thoughts and Fall Opportunities

Last Thursday was the first in-person Seattle Postgres Users Group meetup since early 2020. We didn’t formally track attendee companies, but I recall having Apple, AWS, Fred Hutch, Google, Microsoft and OtterTune all represented. Besides the presentation about performance, we also had pizza and drinks and a book table. I happily loaned out my copy … 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 →

PostgreSQL Performance Puzzle

Update 7/18: y’all guessed the answer to my puzzle very fast! At the bottom of this blog post, I’ve added the expressions that I used (with credit to those who guessed it), and also other expressions guessed by readers which exhibited similar behavior. I’ll do another follow-up blog post touching on several layers of this … Continue reading →

A Hairy PostgreSQL Incident

It was 5:17pm today, just as I was wrapping up work for the day, and my manager pinged me with the following chat: <manager>: Hi Jeremy – we have a <other team> ticket – escalated to <leader>, <leader>, etc. <principal> is on trying to advise as well. Are you available this evening if needed for … Continue reading →

Paranoid SQL Execution on Postgres

Suppose that you want to be completely over-the-top paranoid about making sure that when you execute some particular SQL statement on your Postgres database, you’re doing it in the safest and least risky way? For example, suppose it’s the production database behind your successful startup’s main commercial website. If anything even causes queries to block/pause … Continue reading →

Column And Table Redefinition With Minimal Locking

TLDR: Note to future self… (1) Read this before you modify a table on a live PostgreSQL database. If you do it wrong then your app might totally hang. There is a right way to do it which avoids that. (2) Especially remember the lock_timeout step. Many blog posts around the ‘net are missing this … Continue reading →

This Week in PostgreSQL – May 31

Since last October I’ve been periodically writing up summaries of interesting content I see on the internet related to PostgreSQL (generally blog posts). My original motivation was just to learn more about PostgreSQL – but I’ve started sharing them with a few colleagues and received positive feedback.  Thought I’d try posting one of these digests … 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 78 other subscribers