Ooops, looks like I need to add email rules for this community list! You can ignore my AWS-specific comments in the last paragraph. 😊
From: "Nasby, Jim" <nasbyj@xxxxxxxxxx>
Date: Wednesday, August 14, 2019 at 3:57 PM
To: Jean Baro <jfbaro@xxxxxxxxx>, "pgsql-performance@xxxxxxxxxxxxxx" <pgsql-performance@xxxxxxxxxxxxxx>
Subject: [UNVERIFIED SENDER] Re: Continuous Performance Test
I’m not aware of such a tool, but it would certainly be useful.
Instead of trying to tie this directly to production changes (at which point it’s already too late), I encourage you to tie it into your QA/deployment process. If you have a reliable benchmark (a *great* accomplishment!) then you should run that as part of your pre-deployment process. Obviously that won’t reflect ad-hoc changes to your production environment, but frankly you don’t want ad-hoc in production except in an emergency (and even then it’s best to have a formal production change deployment process so you can track exactly what happened when).
It does occur to me that it would be handy to be able to flag CloudWatch, Performance Insights, and Enhanced Monitoring when a deployment is done. That would make it easier to see the actual impact of a deployment on production. Let me know if you’re interested in doing a PFR for that.
From: Jean Baro <jfbaro@xxxxxxxxx>
Date: Wednesday, August 14, 2019 at 11:19 AM
To: "pgsql-performance@xxxxxxxxxxxxxx" <pgsql-performance@xxxxxxxxxxxxxx>
Subject: Continuous Performance Test
Hello!
I was wondering if there is any external tool or extention to PostgreSQL > 10 (EC2 or RDS) which would:
- Collect the TOP X statements (queries or DML) used in the last Y days IN PRODUCTION;
- Everytime there is a change in the DATABASE Structure (Migrations, properties, Tables, Indexes) run these TOP X statements against a PERFORMANCE TEST DATABASE (Which would be very similar to production, on both HARDWARE and DATABASE SIZE)
- Collect the metrics for these tests
- Plot the results over time so that the PRODUCT team can be sure how the performance of the DATABASE is being affected by the chances over time (also as the number of rows changes). Something like this:
Query vs new change to the DATABASE (+ its size). So that we can see which migration affect the database the most.
Is there such a thing? It doesn't need to be open source nor free. But it would be good if it is :)
If the answer is "NO", would it be possible to create such a tool and make it available as OOS? I think so, but I would need some professional help (and would pay for this).
Thanks
No problem!
If I find anything Ill let you know.
Thanks
On Wed, 14 Aug 2019, 17:59 Nasby, Jim, <nasbyj@xxxxxxxxxx> wrote: