Ubuntu LNMP 性能调优实操指南
一 基线评估与压测
ab -n 10000 -c 200 http://your_domain/,每次调参后回归验证,观察P95/P99与错误率变化。二 Nginx 调优
worker_processes auto;(通常等于CPU核心数);worker_connections 1024+并结合内存与CPU调整;开启multi_accept on;。keepalive_timeout 65; keepalive_requests 100;,提升Keep-Alive复用率,降低握手开销。proxy_cache_path)。三 PHP-FPM 与 OPcache 调优
pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers,避免内存耗尽或排队过长。listen优先使用Unix Socket(如unix:/var/run/php/php8.1-fpm.sock),减少网络栈开销;合理设置request_terminate_timeout/fastcgi_read_timeout与pm.max_requests以回收异常进程。opcache.enable=1、opcache.memory_consumption、opcache.interned_strings_buffer、opcache.max_accelerated_files、opcache.save_comments=1;在PHP 8.0+可开启JIT(opcache.jit=on、opcache.jit_buffer_size=128M)以进一步加速。memory_limit与max_execution_time;精简依赖、合并/压缩CSS/JS、优化图片,减少不必要的数据库查询与远程调用。四 MySQL MariaDB 调优
innodb_buffer_pool_size=70% of RAM;按场景设置key_buffer_size、query_cache_type/size(注意:MySQL 8.0 已移除查询缓存)。max_connections结合work_mem/排序/临时表能力设置,避免连接风暴;开启线程缓存减少创建销毁开销。SELECT *,为高频条件列建立索引/联合索引;用EXPLAIN分析执行计划;对大结果集使用LIMIT;定期执行ANALYZE/OPTIMIZE TABLE维护统计与碎片。五 系统与网络优化及扩展
LimitNOFILE=65535,避免“too many open files”。