[Pulp-list] Apache 502 proxy errors when performing Pulp 3 to Pulp 3 syncs

Winberg Adam Adam.Winberg at smhi.se
Mon Feb 8 14:54:55 UTC 2021


I'm not using the pulp_installer so I can't help with the patch, unfortunately. But I have borrowed heavily from it, so the change in the Apache config is


pulp_installer config:

ProxyPass /pulp/content http://${pulp-content}/pulp/content


My config:

ProxyPass /pulp/content http://${pulp-content}/pulp/content disablereuse=on

Aside from that I have also increased the ServerLimit and MaxRequestWorkers, but there YMMV. I've set it to
ServerLimit 30
MaxRequestWorkers 750

which works for my workload.

//Adam


________________________________
From: Brian Bouterse <bmbouter at redhat.com>
Sent: 08 February 2021 15:47
To: Winberg Adam
Cc: Eric Helms; pulp-list
Subject: Re: [Pulp-list] Apache 502 proxy errors when performing Pulp 3 to Pulp 3 syncs

Hi Adam,

Thanks for sharing all of that and for opening that issue. Would you be willing to do one or two more things to help move it forward? Could you post the diff of the Apache config changes you made on the issue? Also if you'd be willing to open a PR I think it would go against this file. https://github.com/pulp/pulp_installer/blob/master/roles/pulp_webserver/templates/pulp-vhost.conf.j2 Can you link us to either of these you're able to do?

Regarding improving the content app's performance, @dalley has done some investigation there and we hope to build on that work to make some improvements.

Cheers,
Brian


On Fri, Feb 5, 2021 at 12:47 PM Winberg Adam <Adam.Winberg at smhi.se<mailto:Adam.Winberg at smhi.se>> wrote:

I raised a similar question here about pulp-content performance a short while ago, and also created https://pulp.plan.io/issues/8180 since there may be a lack of documentation about this.


In short, I've made a number of adjustments and among them was setting the 'disablereuse=on' setting in my proxypass declaration. I have not seen any performance issue, probably because the proxypass target is on localhost and not a remote machine.


//Adam


________________________________
From: pulp-list-bounces at redhat.com<mailto:pulp-list-bounces at redhat.com> <pulp-list-bounces at redhat.com<mailto:pulp-list-bounces at redhat.com>> on behalf of Eric Helms <ehelms at redhat.com<mailto:ehelms at redhat.com>>
Sent: 05 February 2021 17:29
To: pulp-list
Subject: [Pulp-list] Apache 502 proxy errors when performing Pulp 3 to Pulp 3 syncs

Howdy,

Some quick background, over in the Katello project we deploy the pulpcore-content service via a unix socket with Apache serving as a reverse proxy. Today, we deploy pulpcore-content with two gunicorn workers. Tomorrow we are considering changing this to 2 * CPU + 1 per gunicorn documentation.

The issue we are running into is intermittent 502s from Apache caused by being unable to make a connection to the underlying pulpcore-content app. This manifests itself primarily during a Pulp 3 to Pulp 3 sync. That is, when we sync our content proxy from the main servers Pulp 3. The sync can result in a large number of parallel connections back to the pulpcore-content application running on the main server.

In an issue for aiohttp which is used by the project, and whose worker is used for gunicorn [1] they talk about the issues with Apache and aiohttp. In that issue there are two suggestions that I could extract:

 1) set disablereuse=on the Apache reverse proxy declarations for the content app
 2) change the default Apache worker type to be more like Nginx

There are performance tradeoffs with #1, however, I do not fully grasp if they are relative to our primary use case when it comes to the content app.

So, I am coming to the experts here to try to get some insight into what changes we should pursue to ensure the optimal default performance for our deployment. And to, as best as we can, limit these kind of intermittent failures to extreme cases. Because today, we see this intermittent failure with Pulp 3 running the same test suite we did with Pulp 2.

Related, is there retry support built into syncing?

Thanks!

[1] https://github.com/aio-libs/aiohttp/issues/2687

--
Eric Helms
Principal Software Engineer
Satellite
_______________________________________________
Pulp-list mailing list
Pulp-list at redhat.com<mailto:Pulp-list at redhat.com>
https://www.redhat.com/mailman/listinfo/pulp-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20210208/c1347b60/attachment.htm>


More information about the Pulp-list mailing list