1. 系统级基础优化
sudo apt update && sudo apt upgrade,确保Debian系统及所有软件包(如PHP、Nginx、MySQL)为最新版本,获取性能改进与安全修复。/etc/sysctl.conf,添加或修改以下参数以优化网络连接与资源分配:net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
运行sudo sysctl -p使配置生效,提升高并发下的网络处理能力。2. PHP环境深度优化
sudo apt install php-opcache(根据PHP版本调整,如php8.2-opcache),编辑php.ini(如/etc/php/8.2/fpm/php.ini)添加:[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
重启PHP-FPM(sudo systemctl restart php8.2-fpm)使配置生效,可提升PHP执行速度约30%~50%。/etc/php/8.2/fpm/pool.d/www.conf(路径随PHP版本调整),调整进程池参数:pm = dynamic
pm.max_children = 50 # 根据服务器内存计算(如1GB内存可设为20~30)
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 3000 # 防止内存泄漏,定期重启worker
重启PHP-FPM使配置生效,避免进程频繁创建销毁的开销。3. Web服务器配置优化(以Nginx为例)
/etc/nginx/sites-available/your-site),设置:worker_processes auto; # 自动匹配CPU核心数
events {
worker_connections 1024;
multi_accept on;
}
提升Nginx处理并发请求的能力。fastcgi_pass指向正确的PHP-FPM socket(如unix:/run/php/php8.2-fpm.sock),并添加以下参数减少连接开销:location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
重启Nginx(sudo systemctl restart nginx)使配置生效。4. Laravel框架专项优化
.env文件:APP_ENV=production、APP_DEBUG=false,关闭调试模式以减少不必要的错误输出。php artisan config:cache、php artisan route:cache、php artisan view:cache,将配置、路由和视图编译为静态文件,提升请求响应速度(注意:开发环境禁用缓存,避免配置无法实时生效)。$books = Book::with('author')->get(); // 一次性加载书籍及作者信息
email、created_at字段:Schema::table('users', function (Blueprint $table) {
$table->index(['email', 'created_at']);
});
DB::listen监控慢查询,通过Laravel Debugbar或Telescope定位性能瓶颈。sudo apt install redis-server,编辑.env设置QUEUE_CONNECTION=redis。php artisan make:job ProcessEmail,在handle方法中编写邮件发送逻辑。php artisan queue:work --queue=default --tries=3,确保任务异步执行。composer require laravel/telescope,运行php artisan telescope:install并php artisan migrate,通过/telescope查看请求详情、查询日志、队列状态等,快速定位性能问题。5. 缓存策略优化
.env设置:CACHE_DRIVER=redis
SESSION_DRIVER=redis
配置Redis连接(config/cache.php):'redis' => [
'driver' => 'redis',
'connection' => 'default',
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
Cache::remember缓存频繁访问的数据(如热门文章、配置信息),设置合理的过期时间(如1小时):$popularPosts = Cache::remember('popular_posts', 3600, function () {
return Post::where('views', '>', 1000)->orderBy('views', 'desc')->take(10)->get();
});
减少数据库查询次数,提升响应速度。6. 依赖与代码优化
--optimize-autoloader参数,生成更高效的自动加载文件;生产环境移除开发依赖(--no-dev),减少不必要的类加载:composer install --optimize-autoloader --no-dev
whereIn替代循环中的find)。select只查询需要的字段,减少数据传输量:$users = User::select('id', 'name', 'email')->get();
array_column替代循环中的对象属性访问,提升数据处理速度。