Catbench Vector Search Demo Has Postgres SQL Throughput, Latency Monitoring Now

https://news.ycombinator.com/rss Hits: 6
Summary

CatBench is a Postgres + PgVector demo application that uses 25k pet photos from a Kaggle dataset for demonstrating how the similarity search features work together with the rest of your application code & schema in the backend (HammerDB Order Entry). The latest version of CatBench has Postgres instance-wide throughput and average query execution latency charts built in now. Previously you were able to navigate around the recommendation engine for Cat Purchases UI, click on cat photos and find product recommendations, based on what other similar cats had purchased. And you saw the backend SQL queries of your UI activity with their plan execution metrics (see below): The app ran every backend query twice, first with EXPLAIN (ANZLYZE, BUFFERS), so that you’d see how many physical block I/Os these queries do - and the second run was to retrieve data to display in the UI. This gives you a nice sample of what your UI queries are waiting for, how many buffers they visit and how many rows they pass around the plan (including number of loops & revisits through some parts of your plan). New in CatBench v0.3: Postgres instance-wide activity and SQL latency metrics Now there’s a new button “Monitoring” on the CatBench landing page. I usually open it in a new tab while navigating around the rest of the app. Here’s a screenshot from a test where I gradually increased the number of cat & dog similarity search query loops from 4 to 16 on a freshly restarted Postgres instance (and the OS pagecache had been cleared too): In addition to the query performance charts, I show top queries in a tabular form too: I moved a couple of charts into the bottom as they aren’t that useful/great yet, the Buffer Activity one is problematic as I use PL/PgSQL loops for running lots of concurrent similarity searches, but at least in my default configuration, the Buffer Activity metrics are not updated during the PL/PgSQL loop, so you don’t see much activity there, until the whole loop finishes (and th...

First seen: 2025-05-30 20:24

Last seen: 2025-05-31 01:25