@evgeni has done some testing and found that adding the --preload flag to the gunicorn execution command line for the pulpcore-content service reduces the memory overhead required by several hundred megabytes, because it is able to share more memory pages, and several copies of the pulpcore-content worker processes are active resulting in compounded gains with higher numbers of workers.
The primary downside is not relevant to the Satellite use case. However, we may want to keep an eye out to ensure that this doesn't result in the gunicorn master process itself leaking memory somehow. I don't think it would, but nonetheless.
@evgeni has done some testing and found that adding the --preload flag to the gunicorn execution command line for the pulpcore-content service reduces the memory overhead required by several hundred megabytes, because it is able to share more memory pages, and several copies of the pulpcore-content worker processes are active resulting in compounded gains with higher numbers of workers.
https://discourse.pulpproject.org/t/api-server-memory-leak/851/3?u=dralley
The primary downside is not relevant to the Satellite use case. However, we may want to keep an eye out to ensure that this doesn't result in the gunicorn master process itself leaking memory somehow. I don't think it would, but nonetheless.