From: | Ron <ronljohnsonjr(at)gmail(dot)com> |
---|---|
To: | "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: vacuumdb not letting me connect to db |
Date: | 2021-02-06 18:54:11 |
Message-ID: | 2a5e2391-a627-fb3b-001e-ec75f8267e10@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2/6/21 6:06 AM, Atul Kumar wrote:
> Hi Gavan,
>
> Thanks for providing the details, I need more clarification on this as how
> should I analyze that what should be ideal no. of connections should we
> set to avoid IO overhead based on the available hardware resources.
> How to do this calculation ?
>
Run "iotop -o -u postgres", and then compare that with the total bandwidth
available to the system. If it's (even almost) saturated, then everything
else will be starved.
The "--jobs=" value should AT MOST be some *small* multiple of the number of
CPUs (like 1x, 1.5x or *maybe* 2x if the core count is low, and nothing else
is running on the system.
> Note: even during 300 threads, my RAM utilisation is totally normal.
>
>
> Regards
> Atul
>
>
>
>
>
>
> On Saturday, February 6, 2021, Gavan Schneider <list(dot)pg(dot)gavan(at)pendari(dot)org
> <mailto:list(dot)pg(dot)gavan(at)pendari(dot)org>> wrote:
>
> On 6 Feb 2021, at 3:37, Ron wrote:
>
> On 2/5/21 10:22 AM, Rob Sargent wrote:
>
>
>
> On 2/5/21 9:11 AM, Ron wrote:
>
> Obviously... don't use 300 threads.
>
> No, no Ron. Clearly the answer is more CPUs
>
>
> I hope you're being sarcastic.
>
> A reasonable conjecture… though there is the consideration that 300
> CPU intensive tasks spread across a given number of CPUs is going to
> waste some resources with context switching., i.e., need more CPUs :)
>
> Basically if there is plenty of wait time for I/O completion then CPU
> task switching can get more total work done. So far so obvious. In
> this thread I can see where it is disappointing to have a system
> considered capable of 700 connections getting saturated by a “mere”
> 300 threads. But this is only a “problem” if connections are equated
> to threads. PG max connection count is about external users having
> access to resources needed to get a task done. Like all resource
> allocations this relies on estimated average usage, i.e., each
> connection only asks for a lot of CPU in brief bursts and then the
> result is transmitted with a time lag before the connection makes
> another CPU demand. The system designer should use estimations about
> usage and load to budget and configure the system, and, monitor it all
> against actual performance in the real world. Of course estimates are
> a standing request for outliers and the system will show stress under
> an unexpected load.
>
> So far I have not seen an analysis of where the bottle neck has
> occurred: CPU RAM HD and/or the data bus connecting these. Some of
> these hardware resources maxed out to the extent the system would not
> immediately pick up an additional work unit. As I see it OP started
> 300 CPU intensive tasks on hardware intended for 700 connections. If
> the connection count was designed with say 50% CPU intensive time per
> connection you would expect this hardware to be fully saturated with
> 300 CPU intensive tasks. More than that, doing the task with 300
> threads would probably take longer than (say) 200 threads as the
> increased CPU context swapping time is just wasted effort.
>
> OP now has a choice: decrease threads or (seriously) upgrade the
> hardware. We in the gallery would love to see a plot of total time to
> completion as a function of threads invoked (50-300 increments of 50)
> assuming the starting conditions are the same :)
>
> Gavan Schneider
> ——
> Gavan Schneider, Sodwalls, NSW, Australia
> Explanations exist; they have existed for all time; there is always a
> well-known solution to every human problem — neat, plausible, and wrong.
> — H. L. Mencken, 1920
>
--
Angular momentum makes the world go 'round.
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Martin | 2021-02-06 19:06:44 | Should pgAdmin 3 be saved? |
Previous Message | Gmail | 2021-02-06 15:48:54 | Re: vacuumdb not letting me connect to db |