当前位置: 首页 > Linux

系统优化

时间:2023-04-06 06:48:46 Linux

==========/etc/security/limits.conf控制PAM用户的打开文件数和进程数等查看用户限制,psaux|grephttpd,获取pid,然后cat/proc/$pid/limits==========关闭冗余服务如:postfixsystemctllist-unit-files|grep'enabled'=============/etc/sysctl.conf控制linux系统kernel.pid_max=4194303的参数cat/proc/sys/kernel/pid_maxPID分配限制值。当内核的下一个PID值达到这个值时,它会回退到最低的PID值。PID的最大pid_max没有分配,默认值为32768fs.file-max=999999#系统最大打开文件数vm.swappiness=0#剩余多少内存使用虚拟内存(swap),0表示尽量不使用,10表示剩余使用到下一个10%时使用,即内存使用到90%时使用。net.ipv4.ip_local_port_range=102465535#表示传出连接的端口范围。Small默认:32768~61000,改为1024~65535。net.ipv4.tcp_max_syn_backlog=65535#表示SYN队列长度,默认1024,改为65535,可以容纳更多等待连接的网络连接。Linux系统下内核参数优化。适当的参数配置可以大大提高系统性能,也可以根据具体场景进行特殊优化,比如TIME_WAIT过高,DDOS攻击等。根据TCP协议定义的3次握手断开规则,甲方启动套接字的主动关闭(服务器主动关闭连接)。socket会进入TIME_WAIT状态,TIME_WAIT状态会持续2MSL(MaxSegmentLifetime)。Windows下默认为4分钟,即240秒。处于TIME_WAIT状态的socket无法回收,导致大量的TIME_WAIT,甚至比处于Established状态的socket太多,严重影响服务器的处理能力,甚至会耗尽可用的socket而停止服务。net.core.somaxconn=65535#Linux内核参数,表示socket监听的backlog(监听队列)上限net.ipv4.tcp_max_tw_buckets=10000#表示系统同时维持TIME_WAITsockets的最大数量net.ipv4.tcp_tw_reuse=1#indicating开启重用。允许TIME-WAIT套接字被重新用于新的TCP连接,默认为0,表示关闭;net.ipv4.tcp_tw_recycle=1#表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭。tcp_tw_recycle:回收TIME_WAIT连接在客户端和服务器上都有效。启用后,会在3.5*RTO内回收,RTO为200ms~120s。具体时间视网络情况而定。RTO(RetransmissionTimeOut)重传超时时间。内网比tcp_tw_reuse稍快,公网尤其是移动网大多比tcp_tw_reuse慢。好处是可以恢复服务器上TIME_WAIT的个数。不过有一个小坑:当多个客户端通过NAT方式联网并与服务器交互时,服务器看到的是同一个IP,也就是说这些客户端对于服务器来说其实就相当于一个。不幸的是,这些客户端的时间戳可能不同,所以从服务端的角度来看,时间戳可能会混淆,直接导致时间戳小的数据包被丢弃。客户端在NAT是很常见的,基本公司家里的网络都是用NAT的。tcp_tw_reuse:多路复用的TIME_WAIT连接只对客户端有效,1秒后可以重用。在创建新连接时,如果可能会考虑重用对应的TIME_WAIT连接。一般认为tcp_tw_reuse比tcp_tw_recycle更安全,因为首先TIME_WAIT的创建时间必须超过一秒才能被重用;其次,只有当连接的时间戳增加时,它才会被重用。clienttcp_tw_reuse对多路复用连接有用,tcp_tw_recycle有用,但是client的主要目的不是接受连接,用处不大。服务器tcp_tw_recycle用于回收连接,tcp_tw_reuse无效。为了减少TIME_WAIT在服务端的停留,可以在服务端开启KeepAlive,尽量不要让服务端主动关闭,而是客户端主动关闭来减少TIME_WAIT的产生。net.ipv4.tcp_fin_timeout=30#表示如果socket需要本端关闭,这个参数决定了在FIN-WAIT-2状态停留多长时间。#FIN_WAIT超时。net.core.rmem_max=16777216#指定接收套接字缓冲区的最大大小(以字节为单位)。net.core.wmem_max=16777216#定义发送窗口的最大尺寸;对于较大的BDP,此大小也应该更大。net.ipv4.tcp_syncookies=1#表示启用SYNCookies。当SYN等待队列溢出时,启用cookie进行处理,可以防止少量的SYN攻击。默认为0,表示关闭;centos6yumupdate-ysystemtimeyuminstall-ysysstatmanwgetscreenntpchkconfigntpdonchkconfigacpidoff;关闭chkconfigip6tables;chkconfignetfs关闭;chkconfig关闭后缀;chkconfigudev-postoffchkconfig--list|grep3:onsed-i's/"UTC"/"Asia\/Kuala_Lumpur"/'/etc/sysconfig/clockrm-f/etc/localtimeln-s/usr/share/zoneinfo/Asia/Kuala_Lumpur/etc/localtime/usr/sbin/ntpdate0.centos.pool.ntp.org系统优化echo"fs.file-max=999999">>/etc/sysctl.confecho"vm.swappiness=0">>/etc/sysctl.confecho"net.core.somaxconn=1024">>/etc/sysctl.confecho"net.ipv4.tcp_tw_recycle=1">>/etc/sysctl.confecho"net.ipv4.tcp_tw_reuse=1">>/etc/sysctl.confecho"net.core.rmem_max=8388608">>/etc/sysctl.confecho"net.core.wmem_max=8388608">>/etc/sysctl.confecho"net.ipv4.tcp_max_syn_backlog=4096">&g吨;/etc/sysctl.confecho"net.ipv4.ip_local_port_range=102465535">>/etc/sysctl.confecho"net.netfilter.nf_conntrack_max=1966080">>/etc/sysctl.confsysctl-pecho-e"*\tsoft\tnofile\t999999">>/etc/security/limits.confecho-e"*\thard\tnofile\t999999">>/etc/security/limits.conf防火墙/sbin/iptables-F/sbin/iptables-AINPUT-ilo-jACCEPT/sbin/iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT/sbin/iptables-AINPUT-s10.1.0.0/16-j接受/sbin/iptables-A输入-s10.0.1.0/24-j接受/sbin/iptables-A输入-s192.168.10.0/24-j接受/sbin/iptables-A输入-picmp-micmp--icmp-type8-jACCEPT/sbin/iptables-AINPUT-mlimit--limit5/sec-jLOG--log-prefix"iptables:"--log-level7/sbin/iptables-PINPUTDROP/sbin/iptables-PFORWARDDROP/sbin/iptables-POUTPUTACCEPT/etc/init.d/iptablessave/etc/init.d/iptablesrestartsshmkdir~/.ssh/vi~/.ssh/authorized_keysvi/etc/ssh/sshd_configPort22ListenAddress0.0.0.0Protocol2SyslogFacilityAUTHPRIVLoginGraceTime1mStrictModesyesMaxAuthTries5MaxSessions5PubkeyAuthenticationyesAuthorizedKeysFile.ssh/authorized_keysPermitEmptyPasswordsnoPasswordAuthenticationyesChallengeResponseAuthenticationnoUsePAMyesAcceptEnvLANGLC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGESAcceptEnvLC_PAPERLC_NAMELC_ADDRESSLC_TELEPHONELC_MEASUREMENTAcceptEnvLC_IDENTIFICATIONLC_ALLLANGUAGEAcceptEnvXMODIFIERSX11转发noPrintLastLogyesTCPKeepAliveyesMaxStartups5UseDNSnoSubsystemsftp/usr/libexec/openssh/sftp-serverAllowUsersroot/etc/init.d/sshdrestartrestorecon-R-vized.restoresshcontext/root*vized.restoresshcontext/root*vized.restoresshcontextunconfined_u:object_r:admin_home_t:s0->unconfined_u:object_r:ssh_home_t:s0

最新推荐
猜你喜欢