Add comprehensive report generation to batch analyzer
- Prompts user to save detailed report after analysis - Generates formatted text report with full domain breakdown - Includes server info, domain analysis, summary, and recommendations - Shows memory impact, traffic data, and optimization potential - Saves to /tmp with timestamp for easy reference - Provides actionable recommendations based on findings Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -256,27 +256,96 @@ cecho "${WHITE}${BOLD}Report complete${NC}"
|
||||
cecho " Generated: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo ""
|
||||
|
||||
# Optional: save to file
|
||||
REPORT_FILE="/tmp/php-fpm-analysis-$(date +%Y%m%d-%H%M%S).txt"
|
||||
if [ -w /tmp ]; then
|
||||
{
|
||||
echo "PHP-FPM BATCH ANALYSIS REPORT"
|
||||
echo "Generated: $(date)"
|
||||
# Ask if user wants to save report
|
||||
echo ""
|
||||
cecho "${CYAN}─────────────────────────────────────────────────────────────────────${NC}"
|
||||
read -p "Save detailed report to file? (y/n): " save_report
|
||||
echo ""
|
||||
|
||||
REPORT_FILE="/tmp/php-fpm-analysis-$(date +%Y%m%d-%H%M%S).txt"
|
||||
|
||||
if [[ "$save_report" =~ ^[yY]$ ]] && [ -w /tmp ]; then
|
||||
{
|
||||
echo "╔════════════════════════════════════════════════════════════════════════╗"
|
||||
echo "║ PHP-FPM BATCH ANALYSIS REPORT ║"
|
||||
echo "╚════════════════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
echo "REPORT GENERATED: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo ""
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo "SERVER INFORMATION"
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo "Total RAM: ${TOTAL_RAM_MB}MB"
|
||||
echo "CPU Cores: ${CPU_CORES}"
|
||||
echo "Control Panel: ${CONTROL_PANEL}"
|
||||
echo ""
|
||||
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo "DOMAIN-BY-DOMAIN ANALYSIS"
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo ""
|
||||
|
||||
# Output domain details
|
||||
for idx in $(seq 1 $TOTAL_DOMAINS); do
|
||||
domain="${domain_list[$idx]}"
|
||||
owner="${domain_owner[$idx]}"
|
||||
current="${current_max_children[$idx]}"
|
||||
recommended="${recommended_max_children[$idx]}"
|
||||
impact="${memory_impact[$idx]}"
|
||||
peak="${peak_concurrent[$idx]}"
|
||||
|
||||
if [ "$current" == "ERROR" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "[$idx] $domain"
|
||||
echo " Owner: $owner"
|
||||
echo " Peak concurrent requests: $peak"
|
||||
echo " Current max_children: $current"
|
||||
echo " Recommended max_children: $recommended"
|
||||
echo " Memory impact: ${impact}MB"
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo "SUMMARY"
|
||||
echo "Total domains: $TOTAL_DOMAINS"
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo ""
|
||||
echo "Total domains analyzed: $TOTAL_DOMAINS"
|
||||
echo "Domains needing optimization: $OPTIMIZATION_COUNT"
|
||||
echo "Current memory allocation: ${TOTAL_CURRENT_MEMORY}MB (${CURRENT_PERCENT}%)"
|
||||
echo "Recommended memory allocation: ${TOTAL_RECOMMENDED_MEMORY}MB (${RECOMMENDED_PERCENT}%)"
|
||||
echo "Potential savings: ${POTENTIAL_SAVINGS}MB (${POTENTIAL_SAVINGS_PERCENT}%)"
|
||||
echo "Domains already optimized: $((TOTAL_DOMAINS - OPTIMIZATION_COUNT))"
|
||||
echo ""
|
||||
echo "Current memory allocation: ${TOTAL_CURRENT_MEMORY}MB (${CURRENT_PERCENT}% of RAM)"
|
||||
echo "Recommended memory allocation: ${TOTAL_RECOMMENDED_MEMORY}MB (${RECOMMENDED_PERCENT}% of RAM)"
|
||||
echo "Potential savings: ${POTENTIAL_SAVINGS}MB (${POTENTIAL_SAVINGS_PERCENT}% reduction)"
|
||||
echo ""
|
||||
echo "Memory available after optimization: $((TOTAL_RAM_MB - TOTAL_RECOMMENDED_MEMORY))MB"
|
||||
echo ""
|
||||
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo "RECOMMENDATIONS"
|
||||
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||
echo ""
|
||||
|
||||
if [ "$OPTIMIZATION_COUNT" -gt 0 ]; then
|
||||
echo "Action: Optimize $OPTIMIZATION_COUNT domain(s)"
|
||||
echo "Run: php-optimizer.sh → Option 5 (Optimize Server-Wide PHP Settings)"
|
||||
echo "Expected outcome: Free up ${POTENTIAL_SAVINGS}MB of RAM"
|
||||
else
|
||||
echo "Status: All domains are already optimally configured"
|
||||
echo "No optimization needed at this time"
|
||||
fi
|
||||
|
||||
if [ "$(echo "$AVAILABLE_AFTER_RECOMMENDED < 2048" | bc)" -eq 1 ] 2>/dev/null; then
|
||||
echo ""
|
||||
echo "WARNING: Memory headroom after optimization is limited (${AVAILABLE_AFTER_RECOMMENDED}MB)"
|
||||
echo "Consider reducing some domain limits further or upgrading server RAM"
|
||||
fi
|
||||
|
||||
} > "$REPORT_FILE"
|
||||
|
||||
cecho "Report saved to: ${CYAN}$REPORT_FILE${NC}"
|
||||
cecho "${GREEN}✓${NC} Detailed report saved to: ${CYAN}$REPORT_FILE${NC}"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user