优化Apache Web服务器
KeepAlive On(开启)、MaxKeepAliveRequests 100(单连接最大请求数)、KeepAliveTimeout 5(连接保持超时时间,单位秒)。MaxClients(或MaxRequestWorkers,Event模式下)控制并发连接数(如150),避免资源耗尽;设置MaxConnectionsPerChild(如1000)限制单个进程处理的请求数,防止内存泄漏。mod_deflate压缩文本类内容(HTML、CSS、JS),减少传输数据量。配置示例:LoadModule deflate_module modules/mod_deflate.so;AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript。优化MySQL数据库
innodb_buffer_pool_size(InnoDB引擎缓冲池,建议设为物理内存的50%-70%,如1G)、key_buffer_size(MyISAM索引缓冲区,建议256M-512M),提升数据读写效率。EXPLAIN分析慢查询,重构复杂SQL(如拆分大查询、避免SELECT *)。OPTIMIZE TABLE整理表碎片(针对频繁更新的表);清理无用数据(如过期日志、临时表);启用查询缓存(query_cache_type=1,query_cache_size=64M,适用于读多写少场景)。优化PHP执行效率
OPcache缓存PHP脚本编译后的字节码,减少重复编译。配置示例:zend_extension=opcache.so(加载扩展);opcache.enable=1(开启);opcache.memory_consumption=128(缓存内存,单位MB);opcache.max_accelerated_files=4000(最大缓存文件数)。mod_php),通过FastCGI管理PHP进程,提升并发处理能力。配置pm.max_children(子进程数,如50)、pm.start_servers(启动时的子进程数,如10)等参数,适配服务器资源。系统级性能调优
ulimit -n 65535(临时生效);修改/etc/security/limits.conf(永久生效,添加* soft nofile 65535、* hard nofile 65535)。/etc/sysctl.conf提升网络性能,示例:net.ipv4.tcp_tw_reuse=1(重用TIME_WAIT连接)、net.ipv4.tcp_fin_timeout=30(TIME_WAIT超时时间,单位秒)、net.core.somaxconn=1024(监听队列最大长度)。执行sysctl -p使配置生效。应用层缓存策略
Memcached或Redis缓存频繁访问的数据库查询结果(如商品分类、用户信息),减少数据库负载。例如,通过Redis的SET/GET命令存储查询结果,设置过期时间(如EXPIRE key 3600,1小时过期)。Varnish或Squid作为反向代理,缓存静态页面(如首页、文章页)或动态页面的片段(如导航栏),直接返回缓存内容给用户,降低后端服务器压力。配置Varnish的TTL(Time To Live,缓存有效期,如3600秒)优化缓存更新策略。网络与CDN加速
Nginx或Apache的HTTP/2模块,支持多路复用(一个连接并行传输多个请求),减少延迟,提升页面加载速度。dnsmasq作为本地DNS缓存服务器,缓存域名解析结果(如TTL设为300秒),减少DNS查询时间(通常减少50%-80%)。