通过关闭TurboBoost/SpeedStep功能,确保CPU以最高性能运行,避免性能波动。对于Intel处理器,可执行以下命令临时生效:
echo 1 > /proc/sys/devices/system/cpu/vulnerabilities/cache_alignment
如需永久生效,可将该命令添加至/etc/rc.local文件中。
编辑/etc/sysctl.conf文件,调整以下关键参数以提升网络和文件处理性能:
# 增加TCP连接队列长度
net.core.somaxconn = 65535
# 增加SYN连接队列长度
net.ipv4.tcp_max_syn_backlog = 65535
# 启用TCP连接复用,减少TIME_WAIT状态连接
net.ipv4.tcp_tw_reuse = 1
# 禁用TCP慢启动(空闲连接后不再重新慢启动)
net.ipv4.tcp_slow_start_after_idle = 0
# 调整内存脏页比例(减少磁盘写入频率)
vm.dirty_ratio = 20
vm.dirty_background_ratio = 10
# 增加系统最大文件句柄数
fs.file-max = 1000000
修改后执行sysctl -p使配置生效。
编辑/etc/security/limits.conf文件,添加以下内容以提升用户和系统的文件句柄上限:
* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535
同时编辑/etc/pam.d/login文件,确保包含以下行以应用限制:
session required pam_limits.so
在/etc/vsftpd/vsftpd.conf中设置合理的并发连接数,防止服务器过载:
max_clients = 100 # 最大并发客户端数(根据服务器性能调整)
max_per_ip = 5 # 单IP最大并发连接数
通过以下参数控制用户上传/下载速度(单位:字节/秒),确保关键服务带宽:
local_max_rate = 1024000 # 本地用户最大传输速度(1MB/s)
anon_max_rate = 512000 # 匿名用户最大传输速度(512KB/s)
被动模式(PASV)更适合防火墙环境,指定端口范围可避免连接失败:
pasv_enable = YES
pasv_min_port = 50000 # 被动模式最小端口
pasv_max_port = 50050 # 被动模式最大端口
需在防火墙中开放该端口范围(见四、防火墙设置)。
关闭匿名访问、限制日志记录等,减少资源消耗:
anonymous_enable = NO # 禁用匿名访问
xferlog_enable = YES # 启用传输日志(可选)
log_ftp_protocol = NO # 禁用详细协议日志(减少IO)
通过YUM包管理器安装最新稳定版本,获取性能优化和新功能:
sudo yum update vsftpd -y
在客户端连接时指定被动模式(如FileZilla中勾选“被动模式”),避免主动模式因防火墙导致的连接失败。
根据网络带宽调整TCP缓冲区,提升大数据量传输效率。编辑/etc/sysctl.conf添加:
net.ipv4.tcp_rmem = 4096 87380 16777216 # 接收缓冲区(min default max)
net.ipv4.tcp_wmem = 4096 16384 16777216 # 发送缓冲区(min default max)
执行sysctl -p生效。
使用firewalld开放FTP端口(21)和被动模式端口范围:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=50000-50050/tcp
sudo firewall-cmd --reload
若启用SELinux,需允许FTP访问用户目录和写入操作:
# 允许FTP访问用户家目录
sudo setsebool -P ftp_home_dir on
# 允许FTP写入(若chroot启用)
sudo setsebool -P allow_ftpd_full_access on
# 更改用户目录SELinux上下文
sudo chcon -Rt svirt_sandbox_file_t /home/*
定期检查/var/log/vsftpd.log(或自定义日志路径),使用tail -f实时监控连接状态,识别性能瓶颈。
通过top、htop监控CPU、内存使用情况,使用iftop、nload监控网络带宽占用,及时调整配置。
以上优化措施需根据服务器实际硬件配置(CPU、内存、磁盘)、网络环境(带宽、延迟)和业务需求(并发量、传输文件大小)进行调整,建议在测试环境中验证后再应用于生产环境。