温馨提示×

LNMP在Debian上的性能测试与调优

小樊
86
2025-05-08 04:10:52
栏目: 智能运维

LNMP是指Linux系统下Nginx、MySQL和PHP(或Perl、Python)这种网站服务器架构。在Debian系统上部署LNMP环境后,进行性能测试可以帮助你了解服务器的性能和稳定性。以下是一个基本的步骤指南,以及如何进行性能调优的建议。

LNMP在Debian上的性能测试

  1. 安装LNMP环境
  • 更新系统软件包:
sudo apt-get update && sudo apt-get upgrade 
  • 安装Nginx:
sudo apt-get install nginx -y 
  • 安装PHP和PHP-FPM:
sudo apt-get install php7.0 php7.0-fpm -y 
  • 配置PHP-FPM:

编辑 /etc/php/7.0/fpm/pool.d/www.conf 文件,确保以下配置:

user = www-data group = www-data 

然后重启PHP-FPM:

sudo systemctl restart php7.0-fpm 
  • 配置Nginx以使用PHP-FPM:

编辑 /etc/nginx/sites-available/default 文件,添加以下内容:

location \.php { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } 

重启Nginx:

sudo systemctl restart nginx 
  1. 进行压力测试

使用 ab(ApacheBench)命令进行压力测试。以下是一个基本的压力测试示例:

ab -n 1000 -c 100 http://your_server_ip/ -n :指定请求的总数(1000个请求)。 -c :指定并发的用户数(100个并发用户)。 

LNMP性能调优

  1. Nginx优化
  • worker_processes:设置为 auto 以自动适应CPU核心数。
  • worker_cpu_affinity:设置为 auto 以自动分配CPU亲和性。
  • worker_rlimit_nofile:设置为 65535 以允许更多的文件描述符。
  • sendfile:开启以启用sendfile系统调用。
  • gzip:关闭压缩以减少CPU使用。
  • fastcgi_read_timeout:设置为 300000 以增加FastCGI应用程序的响应时间。
  • tcp_nodelay:开启以提高I/O性能。
  • server_tokens:关闭以减少HTTP头信息的大小。
  • keepalive_timeout:设置为 65 以保持连接复用。
  • keepalive_requests:设置为 100000 以允许更多的保持活动请求。
  • error_log:设置为 /var/log/nginx/error.log 以减少日志记录对性能的影响。
  1. PHP优化
  • opcache.enable:启用并配置以下参数:
opcache.enable = 1 opcache.interned_strings_buffer = 64 opcache.max_accelerated_files = 10000 opcache.memory_consumption = 256 opcache.save_comments = 1 opcache.fast_shutdown = 1 opcache.jit = on opcache.jit_buffer_size = 128 M 
  1. Linux系统优化
  • 文件描述符限制:通过 ulimit -n 65535 提高文件描述符限制。
  • 网络参数:调整以下参数以优化网络性能:
sysctl -w net.core.somaxconn = 65535 sysctl -w net.ipv4.ip_local_port_range = "1024 65535" sysctl -w net.ipv4.tcp_fin_timeout = 30 sysctl -w net.ipv4.tcp_slow_start_after_idle = 0 sysctl -w net.ipv4.tcp_fastopen = 3 sysctl -w net.ipv4.tcp_syncookies = 1 sysctl -w net.core.netdev_max_backlog = 65535 sysctl -w net.nf_conntrack_max = 2097152 sysctl -w net.netfilter.nf_conntrack_max = 2097152 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60 

通过以上步骤和优化,你可以对Debian LNMP环境进行压力测试,并根据测试结果进行相应的调优,以确保服务器在高并发情况下的稳定性和性能。

0