服务器与PHP环境优化
php.ini中配置:zend_extension=opcache.so(启用扩展)、opcache.enable=1(开启功能)、opcache.memory_consumption=128(分配128MB内存)、opcache.max_accelerated_files=4000(缓存最多4000个文件)、opcache.revalidate_freq=60(每60秒检查文件更新)。修改后重启PHP-FPM(systemctl restart php-fpm)使配置生效。location / { try_files $uri $uri/ /index.php?$query_string; }(将动态请求转发给ThinkPHP)、location ~ \.php$ { fastcgi_pass unix:/var/run/php/php-fpm.sock; include fastcgi_params; }(处理PHP请求)。同时启用Gzip压缩(gzip on; gzip_types text/plain text/css application/json;)减小传输体积。缓存策略优化
config/cache.php,推荐使用Redis驱动(需提前安装php-redis扩展):'default' => 'redis',并设置Redis连接参数(host、port、password)。通过Cache::set()、Cache::get()方法缓存频繁访问的数据(如配置信息、热点数据)。php think optimize:route:生成路由缓存(runtime/route.php),避免每次请求都解析路由规则;php think optimize:autoload:生成类库映射文件(runtime/classmap.php),提升自动加载效率;php think optimize:schema:生成表字段缓存(runtime/schema/目录),减少数据库字段查询次数;php think optimize:config:生成配置缓存(runtime/init.php),替代直接加载config目录下的文件。数据库性能调优
WHERE、JOIN、ORDER BY子句中的字段)添加合适索引(如B-Tree索引),避免全表扫描。使用ThinkPHP的查询构造器编写高效SQL,避免原生SQL的复杂嵌套。通过EXPLAIN命令分析慢查询,定位性能瓶颈(如缺少索引、全表扫描)。Swoole的协程连接池(ThinkPHP 6支持),或在应用层实现简单的连接池逻辑。代码与资源优化
foreach中调用Db::table()->find()),改为批量查询;减少冗余代码(如重复的函数调用、未使用的变量),提升代码执行效率。UglifyJS、CSSNano),减少HTTP请求次数;启用Gzip压缩(Nginx/Apache配置),减小传输体积。监控与持续优化