Commit Graph

2 Commits

Author SHA1 Message Date
cschantz 1afe7c476a Add comprehensive PHP metrics tracking documentation
DOCUMENTATION: Complete guide to PHP configuration hierarchy and metrics

CRITICAL ADDITIONS:
1. PHP Config Hierarchy (.user.ini > pool php.ini > global)
2. How to determine which config takes effect
3. 70+ PHP settings to track with explanations

COMPREHENSIVE METRICS COVERAGE:

**Memory Settings:**
- memory_limit, upload_max_filesize, post_max_size
- max_input_vars, realpath_cache_size
- Detection: memory exhausted errors, upload failures

**PHP-FPM Pool Settings (MOST CRITICAL!):**
- pm (static/dynamic/ondemand modes)
- pm.max_children, pm.start_servers, pm.min/max_spare_servers
- pm.max_requests, pm.process_idle_timeout
- request_terminate_timeout, request_slowlog_timeout
- Detection: max_children reached errors, slow logs

**OPcache (MASSIVE PERFORMANCE!):**
- opcache.enable, opcache.memory_consumption
- opcache.max_accelerated_files
- opcache.jit, opcache.jit_buffer_size (PHP 8+)
- Hit rate calculation, cache effectiveness

**Execution & Timeout:**
- max_execution_time, max_input_time
- default_socket_timeout
- Detection: timeout errors

**Session Management:**
- session.save_handler (files/redis/memcached)
- session.gc_maxlifetime
- Performance impact analysis

**Security Settings:**
- disable_functions, open_basedir
- display_errors (MUST be Off in production!)
- allow_url_include prevention

**APCu Cache:**
- apc.shm_size, apc.ttl
- User cache tracking

**Detection Commands:**
- Find all php.ini files affecting domain
- Get effective settings hierarchy
- Check opcache hit rates
- Find max_children errors
- Track slow requests
- Calculate memory per process

**Per-Domain Metrics Matrix:**
Complete YAML template showing all tracked metrics,
live stats, issue detection, and recommendations

This documentation enables intelligent optimization with
precise detection and actionable recommendations!
2025-12-02 19:37:24 -05:00
cschantz 66c01296c5 Add comprehensive PHP & Server Optimizer planning document
FEATURE PLANNING: PHP-FPM and server-wide optimization system

OVERVIEW:
Intelligent analyzer that scans all domains, detects PHP configs,
analyzes usage patterns, and provides one-click optimization with
automatic backups and safety checks.

LEVERAGES EXISTING INFRASTRUCTURE:
- user-manager.sh: Domain/user detection (70% of work done)
- system-detect.sh: Control panel detection
- optimize-ct-limit.sh: Traffic analysis model
- get_user_log_files(): Log location mapping

CORE CAPABILITIES:
1. Detect all PHP-FPM pool configs per domain
2. Find php.ini hierarchy (.user.ini, local, global)
3. Analyze memory usage, traffic patterns, error logs
4. Calculate optimal pm.max_children, memory_limit, opcache
5. Detect issues: max_children reached, memory exhausted, slow requests
6. Provide actionable recommendations with safety checks
7. One-click apply with automatic backups

IMPLEMENTATION PHASES:
- Phase 1: lib/php-detector.sh (detection logic)
- Phase 2: lib/php-analyzer.sh (analysis engine)
- Phase 3: modules/performance/php-optimizer.sh (main script)
- Phase 4: Integration with live-attack-monitor

TRACKED METRICS:
- pm.max_children, pm.start_servers, pm.min/max_spare_servers
- memory_limit, max_execution_time, upload_max_filesize
- opcache settings, hit rates, memory consumption
- Process counts, memory usage, CPU patterns
- Error rates, slow request logs

NEXT: Expand metrics tracking and begin Phase 1 implementation
2025-12-02 19:34:04 -05:00