On Thu, Jul 16, 2020 at 09:13:45PM +0530, Vishwa Kalyankar wrote:
> I have two machines - one with 8GB RAM & 4core CPU and the other with 64GB
> Ram & 24 core CPU. Both machines have the same DB (Postgres 12 + Postgis
It looks like they're returning different number of rows, so definitely not the
same DB.
Also, they're performing about the same now...
It looks like you didn't set shared_buffers, even for a machine with 64GB RAM.
I think it's unusual to keep the default.
On Thu, Jul 16, 2020 at 10:21:35PM +0530, Vishwa Kalyankar wrote:
> Both the db's configurations are not same, I have tuned the db in both
> machines according to https://pgtune.leopard.in.ua/#/
It looks like your low-end machine has no settings at all ?
Did you forget to restart the server or use SET instead of ALTER SYSTEM SET ?
> IPDS_KSEB=# set track_io_timing TO on;
> IPDS_KSEB=# explain (analyze,buffers, settings) select * from
kseb_geometry_trace_with_barrier_partition(5,'kottarakara_version',437,'htline',2);
>
> Function Scan on kseb_geometry_trace_with_barrier_partition
> (cost=0.25..10.25 rows=1000 width=169) (actual time=24708.020..24708.048 rows=254 loops=1)
> Buffers: shared hit=254235 read=1484
> I/O Timings: read=827.509
> Settings: effective_cache_size = '30GB', effective_io_concurrency = '2', max_parallel_workers = '24',
max_parallel_workers_per_gather= '4', search_path = '"$user", public, topology', work_mem = '10MB'
> Planning Time: 0.064 ms
> Execution Time: 24772.587 ms
>
> Low End Machine
> IPDS_KSEB=# explain (analyze,buffers, settings) select * from
kseb_geometry_trace_with_barrier_partition(5,'kottarakara_version',437,'htline',2);
> Function Scan on kseb_geometry_trace_with_barrier_partition (cost=0.25..10.25 rows=1000 width=169) (actual
time=21870.311..21870.344rows=389 loops=1)
> Buffers: shared hit=774945
> Settings: search_path = '"$user", public, topology'
> Planning Time: 0.089 ms
> Execution Time: 21870.406 ms