Thread: Slow down dev database transactions/second for testing?
Hi,
I maintain a Django webapp that uses postgresql and can create inefficient queries if I'm not careful. I'm looking for ways to mimic a congested db server in development to expose these queries.
The configuration of postgresql is complicated - is there a simple method by which I could, for example limit the number of transactions/second to a certain level by adjusting postgresql.conf?
Many thanks!
--
> On 05/02/2023 23:17 CET Richard Brockie <richard.brockie@gmail.com> wrote: > > I maintain a Django webapp that uses postgresql and can create inefficient > queries if I'm not careful. I'm looking for ways to mimic a congested db > server in development to expose these queries. pgbench is what your looking for: https://www.postgresql.org/docs/current/pgbench.html You can run custom statements with the --file option. Get the statements that Django generates and let pgbench run those to analyze the bottlenecks. Or let pgbench create load for some time (see option --time) while you debug your Django app. > The configuration of postgresql is complicated - is there a simple method by > which I could, for example limit the number of transactions/second to a > certain level by adjusting postgresql.conf? No. Postgres will execute as fast as possible with the available resources. -- Erik
On Sun, Feb 5, 2023 at 3:05 PM Erik Wienhold <ewie@ewie.name> wrote:
> On 05/02/2023 23:17 CET Richard Brockie <richard.brockie@gmail.com> wrote:
>
> I maintain a Django webapp that uses postgresql and can create inefficient
> queries if I'm not careful. I'm looking for ways to mimic a congested db
> server in development to expose these queries.
pgbench is what your looking for: https://www.postgresql.org/docs/current/pgbench.html
You can run custom statements with the --file option. Get the statements that
Django generates and let pgbench run those to analyze the bottlenecks. Or let
pgbench create load for some time (see option --time) while you debug your
Django app.
Great - thanks for the suggestion.
> The configuration of postgresql is complicated - is there a simple method by
> which I could, for example limit the number of transactions/second to a
> certain level by adjusting postgresql.conf?
No. Postgres will execute as fast as possible with the available resources.
Understood - thanks again!