-
Notifications
You must be signed in to change notification settings - Fork 106
Pulp tunings #2565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pulp tunings #2565
Changes from all commits
77b2446
4446b96
ccf2b85
1e9cd9c
81c0615
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| [id="Pulp_Tunings_{context}"] | ||
| = Pulp Tunings | ||
|
|
||
| Pulp is a service that handles repository and content management. | ||
| Pulp ensures efficient storage space by not duplicating packages even when requested by Content Views in different organizations. |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,28 @@ | ||||||
| [id="Configuring_Pulpcore_API-Workers_{context}"] | ||||||
| = Configuring Pulpcore API Workers | ||||||
|
|
||||||
| The pulpcore-api workers respond to incoming API requests. | ||||||
| Fewer API workers consume less memory and results in better performance. | ||||||
|
Comment on lines
+4
to
+5
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is questionable advice. Not enough workers means you can't serve the requests in parallel. Taking your advice to the extreme means I simply have 1 worker. But with enough clients, you can saturate that and performance is lower than it could be. The API service is used by Foreman (via Katello), but also by container content. If your tests didn't test any container workloads then you're only testing a fraction of what it needs to serve.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Imaanpreet Is this something you've observed? Do you have any numbers on this? |
||||||
|
|
||||||
| For example, we have compared these two setups: | ||||||
|
|
||||||
| [width="100%",cols="50%,50%",options="header",] | ||||||
| |=== | ||||||
| |{Project} VM with 8 CPUs, 32 GiB RAM, 3 pulpcore-api_workers |{Project} VM with 8 CPUs, 32 GiB RAM, 10 pulpcore-api_workers | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The default tuning for this is |
||||||
| |=== | ||||||
|
|
||||||
| Outcome looks similar in both cases, so the recommendation would be to lower the number of API workers because of the improvement in memory consumption. | ||||||
|
|
||||||
| .Procedure | ||||||
| . Update the pulpcore api_service_worker_count on your {ProjectServer} or {SmartProxyServer} in the custom-hiera.yaml file.: | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
I am unsure if we should recommend users editing this file vs. using foreman-installer.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've always taken a stance that If there's always a recommendation to lower the number of workers, that should be filed as a bug. Telling users "we have poor defaults, always change this" is a poor experience. My suggestion is to drop this chapter altogether.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And if it is common to change it, an RFE to add a parameter as was done with the worker count is also a valid solution.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hello @ekohl: I totally agree on
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm questioning the usefulness of
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. cool, let's drop this section.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hello @ekohl , I have removed this chapter Regarding
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Currently this is the code that sets it: https://projects.theforeman.org/issues/36957 was opened by @maximiliankolb to expose a parameter for this and I just opened theforeman/puppet-foreman_proxy_content#467. I still think that most users shouldn't touch this and if our default tuning is poor, then it should be fixed. |
||||||
| + | ||||||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||||||
| ---- | ||||||
| pulpcore::api_service_worker_count: X | ||||||
| ---- | ||||||
| . Apply your changes: | ||||||
| + | ||||||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||||||
| ---- | ||||||
| # {foreman-installer} | ||||||
| ---- | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And some content types, such as containers.