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')"
|
cecho " Generated: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Optional: save to file
|
# 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"
|
REPORT_FILE="/tmp/php-fpm-analysis-$(date +%Y%m%d-%H%M%S).txt"
|
||||||
if [ -w /tmp ]; then
|
|
||||||
|
if [[ "$save_report" =~ ^[yY]$ ]] && [ -w /tmp ]; then
|
||||||
{
|
{
|
||||||
echo "PHP-FPM BATCH ANALYSIS REPORT"
|
echo "╔════════════════════════════════════════════════════════════════════════╗"
|
||||||
echo "Generated: $(date)"
|
echo "║ PHP-FPM BATCH ANALYSIS REPORT ║"
|
||||||
|
echo "╚════════════════════════════════════════════════════════════════════════╝"
|
||||||
echo ""
|
echo ""
|
||||||
|
echo "REPORT GENERATED: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||||
echo "SERVER INFORMATION"
|
echo "SERVER INFORMATION"
|
||||||
|
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||||
echo "Total RAM: ${TOTAL_RAM_MB}MB"
|
echo "Total RAM: ${TOTAL_RAM_MB}MB"
|
||||||
echo "CPU Cores: ${CPU_CORES}"
|
echo "CPU Cores: ${CPU_CORES}"
|
||||||
echo "Control Panel: ${CONTROL_PANEL}"
|
echo "Control Panel: ${CONTROL_PANEL}"
|
||||||
echo ""
|
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 "SUMMARY"
|
||||||
echo "Total domains: $TOTAL_DOMAINS"
|
echo "═══════════════════════════════════════════════════════════════════════════"
|
||||||
|
echo ""
|
||||||
|
echo "Total domains analyzed: $TOTAL_DOMAINS"
|
||||||
echo "Domains needing optimization: $OPTIMIZATION_COUNT"
|
echo "Domains needing optimization: $OPTIMIZATION_COUNT"
|
||||||
echo "Current memory allocation: ${TOTAL_CURRENT_MEMORY}MB (${CURRENT_PERCENT}%)"
|
echo "Domains already optimized: $((TOTAL_DOMAINS - OPTIMIZATION_COUNT))"
|
||||||
echo "Recommended memory allocation: ${TOTAL_RECOMMENDED_MEMORY}MB (${RECOMMENDED_PERCENT}%)"
|
echo ""
|
||||||
echo "Potential savings: ${POTENTIAL_SAVINGS}MB (${POTENTIAL_SAVINGS_PERCENT}%)"
|
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"
|
} > "$REPORT_FILE"
|
||||||
|
|
||||||
cecho "Report saved to: ${CYAN}$REPORT_FILE${NC}"
|
cecho "${GREEN}✓${NC} Detailed report saved to: ${CYAN}$REPORT_FILE${NC}"
|
||||||
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user