发布时间: 2024-9-3 文章作者: myluzh 分类名称: NOTE 朗读文章
grep ^processor /proc/cpuinfo | wc -l配置示例:
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;对于 8 核 CPU:
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;注: worker_processes 最多设置为 8,超过这个数值可能不会带来性能提升。
worker_rlimit_nofile 65535;
events { use epoll; worker_connections 65535; multi_accept on; }worker_connections:每个 worker 进程的最大连接数。根据服务器性能和内存设置。
http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; }sendfile on:开启高效文件传输模式。
keepalive_timeout 60; tcp_nodelay on; client_header_buffer_size 4k; open_file_cache max=102400 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 1; client_header_timeout 15; client_body_timeout 15; reset_timedout_connection on; send_timeout 15; server_tokens off; client_max_body_size 10m;keepalive_timeout:保持会话的超时时间。
fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; fastcgi_temp_path /usr/local/nginx1.10/nginx_tmp; fastcgi_intercept_errors on; fastcgi_cache_path /usr/local/nginx1.10/fastcgi_cache levels=1:2 keys_zone=cache_fastcgi:128m inactive=1d max_size=10g;fastcgi_cache_path:配置 FastCGI 缓存目录。
gzip on; gzip_min_length 2k; gzip_buffers 4 32k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; gzip_vary on; gzip_proxied any;gzip_min_length:设置允许压缩的页面最小字节数。
location ~* \.(ico|jpe?g|gif|png|bmp|swf|flv)$ { expires 30d; } location ~* \.(js|css)$ { expires 7d; }expires:设置资源的缓存过期时间。
fs.file-max = 999999 # 最大打开文件描述符数量,提升这个值可以增加系统的并发处理能力。 net.ipv4.tcp_max_tw_buckets = 6000 # TIME-WAIT状态的最大数量,减少该数量可以降低TIME-WAIT连接的资源占用。 net.ipv4.ip_local_port_range = 1024 65000 # 可用的本地端口范围,扩大此范围可以避免端口耗尽。 net.ipv4.tcp_tw_recycle = 1 # 启用TIME-WAIT状态的快速回收,提升连接处理能力(注意可能对NAT环境有影响)。 net.ipv4.tcp_tw_reuse = 1 # 允许重用TIME-WAIT状态的套接字,增加端口利用率。 net.ipv4.tcp_keepalive_time = 30 # 空闲TCP连接发送keepalive消息的时间,设置短时间可更快发现死连接。 net.ipv4.tcp_syncookies = 1 # 启用SYN Cookies防止SYN Flood攻击,提升系统的稳定性。 net.core.somaxconn = 40960 # 每个端口的最大监听队列长度,增加该值可处理更多的入站连接请求。 net.core.netdev_max_backlog = 262144 # 网络接口接收数据包的最大队列长度,提升此值可以减少数据包丢失。 net.ipv4.tcp_max_syn_backlog = 262144 # TCP SYN队列的最大长度,增大此值可以提高高并发连接的处理能力。注: 使用 sysctl -p 应用更改。
发表评论