37de22241c
MAJOR ENHANCEMENT: Three-Constraint Intelligent Model The PHP-FPM optimization now uses a sophisticated three-constraint model to make the MOST INTELLIGENT recommendations possible: CONSTRAINT 1: Memory-Based (What available RAM allows) - Accounts for system reserve and MySQL memory - Limits PHP-FPM to max 60% of total RAM - Uses conservative 20MB per process assumption - Results in realistic max_children values CONSTRAINT 2: Traffic-Based (What actual usage patterns suggest) - Analyzes peak concurrent requests from access logs - Considers traffic stability (unstable/moderate/stable) - Applies appropriate headroom factors (30% for stability) - Caps at realistic traffic-based limits CONSTRAINT 3: Fair Share (Proportional allocation based on traffic) - Calculates server's total PHP-FPM capacity - Allocates to each domain based on its traffic percentage - High-traffic sites get more capacity, low-traffic get less - Prevents single domain from monopolizing resources FINAL RECOMMENDATION = MIN(Memory, Traffic, Fair Share) This ensures: - ✅ Never exceeds available RAM - ✅ Never exceeds realistic traffic needs - ✅ Fair distribution across domains - ✅ Maximum capacity utilization - ✅ Safe for shared hosting environments NEW FUNCTIONS: - calculate_server_capacity() - Total server PHP-FPM capacity - get_domain_traffic_percentage() - Domain's traffic % analysis - calculate_max_children_fair_share() - Fair share allocation - calculate_optimal_php_settings_intelligent() - Three-constraint model BATCH ANALYZER CHANGES: - Step 1: Calculates server capacity once upfront - Step 2: Analyzes domain traffic patterns - Step 3: Uses intelligent three-constraint model for each domain - Output now shows: traffic percentage, limiting factor per domain EXAMPLE ON 8GB SERVER: - Server capacity: 320 max_children total - Site A (70% traffic, 2GB peak): Gets 224 (capped at ~105 by memory) - Site B (30% traffic, 500MB peak): Gets 96 (limited by traffic needs) - Combined total: ~131 max_children ≈ 2.6GB (safe within 4.8GB available) This is production-ready for shared hosting where fair resource distribution and safety are critical.