Slow products page on 2.0

That helped ALOT, output:

Unique (cost=145.34…145.49 rows=4 width=272) (actual time=62.299…62.314 rows=8 loops=1)
→ Sort (cost=145.34…145.35 rows=4 width=272) (actual time=62.299…62.299 rows=16 loops=1)
Sort Key: foreman_tasks_tasks.id, foreman_tasks_tasks.label, foreman_tasks_tasks.started_at, foreman_tasks_tasks.ended_at, foreman_tasks_tasks.state, foreman_tasks_tasks.result, foreman_tasks_tasks.external_id, foreman_tasks_tasks.parent_task_id, foreman_tasks_tasks.start_at, foreman_tasks_tasks.start_befor
e, foreman_tasks_tasks.action, foreman_tasks_tasks.state_updated_at, foreman_tasks_tasks.user_id, foreman_tasks_locks.resource_id
Sort Method: quicksort Memory: 33kB
→ Nested Loop (cost=62.62…145.30 rows=4 width=272) (actual time=37.792…62.245 rows=16 loops=1)
Join Filter: (foreman_tasks_locks.resource_id = locks_foreman_tasks_tasks.resource_id)
Rows Removed by Join Filter: 24
→ Nested Loop (cost=62.20…70.10 rows=2 width=272) (actual time=37.778…62.171 rows=8 loops=1)
→ GroupAggregate (cost=44.44…44.46 rows=1 width=12) (actual time=34.151…34.648 rows=8 loops=1)
Group Key: foreman_tasks_locks.resource_id
→ Sort (cost=44.44…44.45 rows=1 width=12) (actual time=34.078…34.312 rows=3170 loops=1)
Sort Key: foreman_tasks_locks.resource_id
Sort Method: quicksort Memory: 245kB
→ Nested Loop (cost=8.88…44.43 rows=1 width=12) (actual time=0.998…33.560 rows=3170 loops=1)
→ Bitmap Heap Scan on foreman_tasks_tasks foreman_tasks_tasks_1 (cost=4.44…12.28 rows=2 width=24) (actual time=0.803…3.458 rows=5614 loops=1)
Recheck Cond: (((type)::text = ‘ForemanTasks::Task::DynflowTask’::text) AND ((label)::text = ‘Actions::Katello::Repository::Sync’::text))
Heap Blocks: exact=1088
→ Bitmap Index Scan on index_foreman_tasks_tasks_on_type_and_label (cost=0.00…4.43 rows=2 width=0) (actual time=0.681…0.681 rows=5614 loops=1)
Index Cond: (((type)::text = ‘ForemanTasks::Task::DynflowTask’::text) AND ((label)::text = ‘Actions::Katello::Repository::Sync’::text))
→ Bitmap Heap Scan on foreman_tasks_locks (cost=4.45…16.07 rows=1 width=20) (actual time=0.004…0.004 rows=1 loops=5614)
Recheck Cond: (((resource_type)::text = ‘Katello::Repository’::text) AND (task_id = foreman_tasks_tasks_1.id))
Filter: (resource_id = ANY (‘{59,516,517,518,520,519,8203,8241}’::integer))
Rows Removed by Filter: 1
Heap Blocks: exact=5623
→ Bitmap Index Scan on temp_tasks_test (cost=0.00…4.45 rows=3 width=0) (actual time=0.003…0.003 rows=2 loops=5614)
Index Cond: (((resource_type)::text = ‘Katello::Repository’::text) AND (task_id = foreman_tasks_tasks_1.id))
→ Bitmap Heap Scan on foreman_tasks_tasks (cost=17.76…25.60 rows=2 width=268) (actual time=3.437…3.437 rows=1 loops=8)
Recheck Cond: ((started_at = (max(foreman_tasks_tasks_1.started_at))) AND ((type)::text = ‘ForemanTasks::Task::DynflowTask’::text))
Heap Blocks: exact=8
→ BitmapAnd (cost=17.76…17.76 rows=2 width=0) (actual time=3.433…3.433 rows=0 loops=8)
→ Bitmap Index Scan on index_foreman_tasks_tasks_on_started_at (cost=0.00…6.65 rows=315 width=0) (actual time=0.003…0.003 rows=1 loops=8)
Index Cond: (started_at = (max(foreman_tasks_tasks_1.started_at)))
→ Bitmap Index Scan on index_foreman_tasks_tasks_on_type (cost=0.00…10.78 rows=315 width=0) (actual time=3.429…3.429 rows=63028 loops=8)
Index Cond: ((type)::text = ‘ForemanTasks::Task::DynflowTask’::text)
→ Index Scan using index_foreman_tasks_locks_on_task_id on foreman_tasks_locks locks_foreman_tasks_tasks (cost=0.42…30.63 rows=558 width=20) (actual time=0.005…0.006 rows=5 loops=8)
Index Cond: (task_id = foreman_tasks_tasks.id)
Planning Time: 0.742 ms
Execution Time: 62.399 ms
(38 rows)

1 Like