工具选择
top、htop、vmstat 监控CPU、内存、磁盘I/O;sar 查看历史性能数据。iperf3 测试网络带宽,speedtest-cli 检测网络延迟。ab(Apache Benchmark)或 siege 模拟HTTP请求,测试Web服务并发能力。mysqlslap 模拟数据库负载,SHOW STATUS 查看数据库运行状态。测试流程
/etc/sysctl.conf,优化网络和文件句柄限制,例如:net.core.somaxconn=2048(提升TCP连接队列长度)fs.file-max=65535(增加文件描述符上限)。KeepAlive 并设置合理超时时间(如 KeepAliveTimeout 5),减少连接开销。MaxRequestWorkers(或 MaxClients)控制并发连接数,避免资源耗尽。mod_rewrite 仅在需要时启用),减少内存占用。mod_cache 缓存静态内容,搭配 mod_expires 设置缓存过期时间。innodb_buffer_pool_size 为服务器内存的50%-70%,提升数据缓存效率。innodb_log_file_size(建议为1-2GB),优化事务日志写入性能。EXPLAIN 分析慢查询,添加索引避免全表扫描。OPTIMIZE TABLE 整理表碎片,提升查询速度。php.ini,设置 opcache.enable=1,并配置缓存大小(如 opcache.memory_consumption=128M),减少脚本编译开销。pm.max_children、pm.start_servers),避免进程频繁创建/销毁。request_terminate_timeout 防止脚本超时阻塞。ab 或 siege 重新测试,观察响应时间、错误率等指标变化。access.log 和 error.log 定位异常请求,针对性优化。注意:调优前需在测试环境验证,避免生产环境直接修改关键参数。优先解决CPU、内存、I/O等基础瓶颈,再逐步优化应用层逻辑。