ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 关闭不需要的服务 ## 优化写磁盘操作 Nginx每访问一次文件即会对Access Time进行更新 ### 如何关闭Access Time 修改fstab在指定磁盘增加`noatime`和`nodiratime`属性。这样写如果要生效只能重启系统 使用命令重新挂在可以即时生效。 ~~~ mount -o default,noatime,nodiratime -o remount /dev/mapper/centos-root / ~~~ ## 优化资源限制 ulimit -n 单个用户对文件描述符的使用限制,即打开的文件数限制 ulimit -u 单个用户拥有的进程数限制 修改/etc/security/limits.conf中,这个生效需要重启系统 ~~~ * soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535 ~~~ 即时生效 ~~~ ulimit -n 65535 ulimit -u 65535 ~~~ ## 优化TCP内核选项 ~~~ net.ipv4.tcp_max_tw_buckets = 6000 # 设置timewait,默认值18000 net.ipv4.tcp_tw_recycle = 1 # 是否启动timewait快速回收,默认值0 net.ipv4.tcp_tw_reuse = 1 # 是否允许将TIME WAIT SOCKET重新用于TCP连接,默认值0 net.ipv4.ip_local_port_range = 1024 65000# 允许打开的端口范围 net.ipv4.tcp_syncookies = 1 # 默认值0,如果使用SYN队列溢出时,则使用cookies来处理 net.core.somaxconn = 32768 # web的listen函数会将net.core.somaxconn限制到128,因此这个值需要调整 net.ipv4.tcp_max_orphans = 3276800 # 默认值32768,不属于任何请求的套接字数量 net.ipv4.tcp_max_syn_backlog = 65536 # 尚未收到客户端确认信息的连接请求最大值 net.ipv4.tcp_timestamps = 0 # 默认值1,使用时间戳作为序列号,但在高速环境中应关闭 net.ipv4.tcp_syn_retries = 1 # 默认值5,内核放弃建立连接之前发送的SYN包数量 net.ipv4.tcp_synack_retries = 1 # 默认值5,TCP第2次握手,内核需要ACK前一个SYN,减小这个有利于避免DDOS攻击 net.ipv4.tcp_fin_timeout = 1 # 如果套接字由本端关闭,这个设置了FIN_WAIT-2状态的时间,FIN_WAIT-2的危险性小于FIN_WAIT-1,因为,FIN_WAIT-2最多只能占据1.5kb内存 net.ipv4.tcp_keepalive_time = 30 # 默认值7200,设置TCP发送keepalive消息的频度 ~~~ ## 优化Nginx服务器 ### 关闭部分访问日志 ### Nginx服务配置优化 ~~~ worker_connections 65535 keepalive_timeout 60 client_header_buffer_size 8k # getconfig PAGESIZE获取页面大小 worker_rlimit_nofile 65535 ~~~