[PostGIS] #5808: Weird constant ram increase using topology
PostGIS
trac at osgeo.org
Fri Nov 8 05:04:33 PST 2024
#5808: Weird constant ram increase using topology
-----------------------+---------------------------
Reporter: latot | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.5.1
Component: topology | Version: 3.5.x
Resolution: | Keywords:
-----------------------+---------------------------
Comment (by Lars Aksel Opsahl):
I am now running a test with POSTGIS="3.6.0dev 3.5.0-44-g6366bd678" on a
small test server with code (before memory fixes) and I have enabled sar
so we have something to compare with before upgrade to 75d9b03d6c. This
test server is only used by me and it's only running Postgres.
The test below start at 2024-11-08 11:19:36.246308+01
{{{
CALL topo_rog_static.rog_overlay(
ARRAY[
'sk_grl.n5_forvaltning_flate n5',
'prod_dyrkbarjord_05.snapshot_ar5_flate ar5',
'prod_dyrkbarjord_05.snapshot_ssb_flate ssb',
'prod_dyrkbarjord_05.snapshot_mdir_flate mdir',
'prod_dyrkbarjord_05.snapshot_dmk_flate dmk',
'prod_dyrkbarjord_05.snapshot_ravine_dtm10_dmk_flate dtm10',
'prod_dyrkbarjord_05.snapshot_ravine_statsforvalter_flate ravine'
],
'tmp_dyrkbarjord_12.dyrkbarjord_06',
4258, --srid
0, -- no snapto
10.0, -- min m2 area to keep
0, --max vertx length
false, -- _break_up_big_polygons
1.0, -- min negative buffer value null, remove sliver polygons
ARRAY[
('0103000020A21000000100000005000000B3C573C549A82240C2497FD1316F4F40B3C573C549A8224059E5729B33DC4F40A3DA057EEABE264059E5729B33DC4F40A3DA057EEABE2640C2497FD1316F4F40B3C573C549A82240C2497FD1316F4F40','037')::rog_input_boundary::rog_input_boundary
]
, -- run all the area blocks
true, -- do_qualitycheck_on_final_reseult
-- Method 1 topology.TopoGeo_addLinestring
-- Method 2 topology.TopoGeo_LoadGeometry
-- Method 3 select from tmp toplogy into master topology
3,
10, -- _max_parallel_jobs int, -- this is the max number of paralell
jobs to run. There must be at least the same number of free connections
600, -- _max_rows_in_each_cell int, -- this is the max number rows that
intersects with box before it's split into 4 new boxes
null
);
}}}
From sar we get this now (code before memory update)
{{{
10:40:03 kbmemfree kbavail kbmemused %memused kbbuffers kbcached
kbcommit %commit kbactive kbinact kbdirty
10:50:02 61142104 62946200 1626848 2.47 7648 2735980
11859148 16.01 945192 3015284 20028
11:00:03 61767944 63616128 981120 1.49 7648 2754880
11137220 15.04 915536 2399188 4188
11:10:03 61862556 63702900 894176 1.36 7648 2747308
11025260 14.89 925372 2279068 0
11:20:03 61872684 63714484 882952 1.34 7648 2748788
11016896 14.87 927924 2279844 0
11:30:03 58305508 61577628 1874804 2.85 7648 5276428
12172268 16.43 1429888 5337516 58492
11:40:03 57976656 61490612 1779184 2.70 7648 5686004
12166740 16.43 1801400 5268476 51368
11:50:00 57702720 61385112 1753320 2.66 7648 5969336
12038992 16.25 2069776 5260776 51224
12:00:00 55847564 59955040 2786572 4.23 7648 6780304
13041736 17.61 2571516 6582200 66796
12:10:03 55552520 59719364 2629196 3.99 7648 7227376
12882832 17.39 2998324 6447184 68128
12:20:03 55907020 60163276 2184968 3.32 7648 7307164
12457596 16.82 3027800 6053332 62032
12:30:03 55200784 59687440 2657892 4.04 7648 7530040
12938772 17.47 3068752 6706968 63724
12:40:03 54830648 59466128 2827212 4.29 7648 7723292
13078288 17.66 3153496 6991212 49348
12:50:03 54771540 59572044 2591820 3.94 7648 8008060
12870848 17.38 3313932 6876356 89092
13:00:03 54692636 59587800 2412788 3.66 7648 8259492
12682264 17.12 3508396 6756404 99048
13:10:03 54025556 59064720 2847752 4.33 7648 8484700
13111368 17.70 3615164 7301200 58748
13:20:03 54191400 59361784 2376192 3.61 7648 8782652
12638620 17.06 3815340 6936244 94432
13:30:03 54325484 59513960 2186832 3.32 7648 8828776
12438336 16.79 3871348 6733536 59352
13:40:02 53758532 59113036 2499584 3.80 7648 9075556
12770044 17.24 3982756 7182092 91200
13:50:03 52994504 58588208 2993372 4.55 7648 9334628
13243072 17.88 4029592 7863608 67640
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5808#comment:18>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list