From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 614BB1FF16B for ; Tue, 29 Jul 2025 17:51:20 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 51FED17957; Tue, 29 Jul 2025 17:52:40 +0200 (CEST) From: Friedrich Weber To: pve-devel@lists.proxmox.com Date: Tue, 29 Jul 2025 17:50:55 +0200 Message-ID: <20250729155227.157120-2-f.weber@proxmox.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250729155227.157120-1-f.weber@proxmox.com> References: <20250729155227.157120-1-f.weber@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1753804346272 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.011 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [utils.pm] Subject: [pve-devel] [PATCH http-server 1/1] api server: proxy config: read MAX_WORKERS integer key X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Read the MAX_WORKERS value in /etc/default/. If it is not an integer between 0 and 128, ignore and warn. The lower limit was chosen because at least one worker process must exist. The upper limit was chosen because more than 127 worker processes should not be necessary and a positive impact on performance is doubtful. If this limit turns out to be too low, it can still be extended in the future. Signed-off-by: Friedrich Weber --- Notes: changes since rfc: - add lower and upper limit (thx Thomas!) src/PVE/APIServer/Utils.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/PVE/APIServer/Utils.pm b/src/PVE/APIServer/Utils.pm index 1430c98..4cceb71 100644 --- a/src/PVE/APIServer/Utils.pm +++ b/src/PVE/APIServer/Utils.pm @@ -28,6 +28,7 @@ sub read_proxy_config { $shcmd .= 'echo \"DISABLE_TLS_1_3:\$DISABLE_TLS_1_3\";'; $shcmd .= 'echo \"PROXY_REAL_IP_HEADER:\$PROXY_REAL_IP_HEADER\";'; $shcmd .= 'echo \"PROXY_REAL_IP_ALLOW_FROM:\$PROXY_REAL_IP_ALLOW_FROM\";'; + $shcmd .= 'echo \"MAX_WORKERS:\$MAX_WORKERS\";'; my $data = -f $conffile ? `bash -c "$shcmd"` : ''; @@ -77,6 +78,13 @@ sub read_proxy_config { push @$ips, Net::IP->new(normalize_v4_in_v6($ip)) || die Net::IP::Error() . "\n"; } $res->{$key} = $ips; + } elsif ($key eq 'MAX_WORKERS') { + if ($value =~ /^\d+$/ && $value > 0 && $value < 128) { + $res->{$key} = int($value); + } else { + warn "MAX_WORKERS specified in $conffile is not an integer between" + ." 0 and 128: $value\n"; + } } elsif (grep { $key eq $_ } @$boolean_options) { die "unknown value '$value' - use 0 or 1\n" if $value !~ m/^(0|1)$/; $res->{$key} = $value; -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel