Bug 1758285 - [Tracker][scale & performance] Move Actions::Katello::Host::* tasks out of Dynflow & Foreman Tasks
Summary: [Tracker][scale & performance] Move Actions::Katello::Host::* tasks out of Dy...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Hosts - Content
Version: 6.6.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Stephen Wadeley
URL:
Whiteboard:
Depends On: 1771719 1771724 1771729
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-10-03 18:33 UTC by Mike McCune
Modified: 2023-09-07 20:44 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-07-08 08:33:02 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Mike McCune 2019-10-03 18:33:20 UTC
Due to the extraordinarily large volume of calls from subscription-manager creating the following 3 task types:

Actions::Katello::Host::Update
Actions::Katello::Host::GenerateApplicability
Actions::Katello::Host::UploadPackageProfile

We often see a 100:1 ratio of this type of task vs other task types in the database, an example of a user who had 700,000 tasks in their task history saw this rough breakdown

  COUNT|TYPE 

 320668 Actions::Katello::Host::Update
 277923 Actions::Katello::Host::GenerateApplicability
 141833 Actions::Katello::Host::UploadPackageProfile
   1983 Actions::Katello::Repository::ScheduledSync
    429 Actions::Katello::CapsuleContent::Sync
    127 Actions::Katello::Repository::MetadataGenerate
    118 Actions::Katello::Repository::CapsuleGenerateAndSync
    109 Actions::Katello::CapsuleContent::RemoveOrphans
     59 Actions::Katello::Host::Hypervisors
     53 Actions::Katello::Repository::BulkMetadataGenerate
...

we need to investigate moving these to be handled directly by the main Rails application and not require the overhead of task creation, monitoring and eventual database cleanup.

We saw performance improvements when we moved 'subscription-manager register' calls to be handled directly in Foreman and want to consider the same for the above task types.

Also take into consideration we need to allow for concurrent calls as added in this bz here in 6.5.z and 6.6:

https://bugzilla.redhat.com/show_bug.cgi?id=1643649

Comment 3 Partha Aji 2019-11-12 20:29:52 UTC
I decided to use this as a tracker and create Bugs for
1) https://bugzilla.redhat.com/show_bug.cgi?id=1771719 - Move Actions::Katello::Host::Update out of dynflow
2) https://bugzilla.redhat.com/show_bug.cgi?id=1771729 - Move Actions::Katello::Host::GenerateApplicability out of dynflow
3) https://bugzilla.redhat.com/show_bug.cgi?id=1771724 - Move Actions::Katello::Host::UploadPackageProfile out of dynflow

Comment 4 Mike McCune 2019-11-13 18:06:59 UTC
Analysis of customer sosreports shows our largest environments often show Actions::Katello::Host::Update calls ranging in the 30,000 to 50,000 tasks per day.

Comment 5 Stephen Wadeley 2022-07-08 08:33:02 UTC
Hello

as all the bugs in comment 3 are resolved I will close this as CURRENT RELEASE.


Note You need to log in before you can comment on or make changes to this bug.