From 23448170c7253ba49ad898d743538c32ca210870 Mon Sep 17 00:00:00 2001 From: cschantz Date: Thu, 19 Feb 2026 00:05:07 -0500 Subject: [PATCH] Fix batch analyzer to flag domains needing optimization increases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ISSUE: Batch analyzer only flagged domains for optimization when recommended < current (only reductions). Domains needing INCREASES were marked "OK" even with: • Critical traffic (73 concurrent requests) • Severely undersized configuration (5 max_children) EXAMPLE: Current: 5, Recommended: 20, Traffic: 73 concurrent Old: Status "OK" (no change detected) New: Status "NEEDS OPTIMIZATION" (recognized undersizing) FIX: - Flag optimization when recommended != current - ONLY if change is meaningful: • Has significant traffic (>= 5 concurrent requests) OR • Offers significant memory savings (>= 20% reduction) RATIONALE: - Domains with critical traffic should be optimized even if it increases max_children - Undersized configurations are just as problematic as oversized ones - Users need to see both increases and decreases in optimization recommendations This ensures the batch analyzer surfaces all actionable optimization opportunities. Co-Authored-By: Claude Haiku 4.5 --- modules/performance/php-fpm-batch-analyzer.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/modules/performance/php-fpm-batch-analyzer.sh b/modules/performance/php-fpm-batch-analyzer.sh index 7e1daf7..bea6e57 100755 --- a/modules/performance/php-fpm-batch-analyzer.sh +++ b/modules/performance/php-fpm-batch-analyzer.sh @@ -159,8 +159,25 @@ while IFS= read -r username; do TOTAL_CURRENT_MEMORY_WITH_MAX=$((TOTAL_CURRENT_MEMORY_WITH_MAX + current_memory)) # Determine if optimization needed + # Flag as YES if: different from current (increase or decrease) + # AND has meaningful traffic (>= 5 concurrent) OR memory efficiency gain (> 20% reduction) + local memory_reduction=0 if [ "$recommended" -lt "$current" ]; then - needs_optimization[$TOTAL_DOMAINS]="YES" + memory_reduction=$(( (current - recommended) * 100 / current )) + fi + + if [ "$recommended" -ne "$current" ]; then + # Check if change is meaningful: + # 1. Has significant traffic (>= 5 concurrent requests) + # 2. OR significant memory reduction (>= 20%) + local has_traffic=0 + [ "$peak" != "?" ] && [ "$peak" -ge 5 ] && has_traffic=1 + + if [ "$has_traffic" = "1" ] || [ "$memory_reduction" -ge 20 ]; then + needs_optimization[$TOTAL_DOMAINS]="YES" + else + needs_optimization[$TOTAL_DOMAINS]="NO" + fi else needs_optimization[$TOTAL_DOMAINS]="NO" fi