1.文件句柄
liunx 一切皆文件,文件句柄就是一个索引
2.设置方式
系统全局性修改
用户局部性修改
进程局部性修改
3.用户的文件句柄限制
1 2 3 4 5 6 7 | cat /etc/security/limits .conf root soft nofile 65535 # root用户 soft 软连接 root hard nofile 65535 # root用户 hard 硬连接 * soft nofile 65535 # * 所有用户 * hard nofile 65535 # * 所有链接 |
4.进程文件句柄的限制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | vim /etc/nginx/nginx .conf user nginx; worker_processes 1; error_log /var/log/nginx/error .log warn; pid /var/run/nginx .pid; worker_rlimit_nofile 65535; # 进程的文件句柄限制 events { worker_connections 1024; } |
1.cpu 亲和
1 2 | cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l # 查看物理机有几个CPU cat /proc/cpuinfo | grep 'cpu cores' | uniq # 查看cup核数 |
2.查看nginx进程绑定的cpu
1 | ps -eo pid,args,psr | grep [n]ginx |
3.nginx.conf配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | user nginx; worker_processes 16; #worker_cpu_affinity 0000000000000010 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 0010000000000000 0100000000000000 1000000000000000; #worker_cpu_affinity 1010101010101010 0101010101010101; worker_cpu_affinity auto; # 自动绑定CPU error_log /var/log/nginx/error .log warn; pid /var/run/nginx .pid; worker_rlimit_nofile 35535; # 进程的文件句柄 events { use epoll; worker_connections 10240; # 限制每个worke进程处理多少个连接 } http { include /etc/nginx/mime .types; default_type application /octet-stream ; ####### #Charset charset utf-8; # 字符集编码 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_uri"' ; access_log /var/log/nginx/access .log main; access_log off; # 关闭日志 ####### #Core modlue sendfile on; #tcp_nopush on; #tcp_nodeny on; keepalive_timeout 65; ######## #Gzip module gzip on; gzip_disable "MSIE [1-6]\." ; gzip_http_version 1.1; ######## #Virtal Server include /etc/nginx/conf .d/*.conf; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下