centos部分网站无法访问问题的解决

CentOS 5内核对TCP的读缓冲区大小有缺省设置,缺省为:net.ipv4.tcp_rmem = 4096 87380 4194304

解决办法就是将最后一个数字改小一点,具体操作就是在文件/etc/sysctl.conf中添加一行:

net.ipv4.tcp_rmem = 4096 87380 174760

然后保存

重新启动网络service network restart,就OK了,如果还是部分网站上不去,可以检查/etc/sysctl.conf文件是否和下面相同

net.ipv4.ip_local_port_range = 1024 65536

net.core.rmem_max=174760

net.core.wmem_max=16777216                 

net.ipv4.tcp_rmem=4096 87380 174760

net.ipv4.tcp_wmem=4096 65536 16777216

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_keepalive_time = 600

net.ipv4.tcp_tw_recycle = 1

net.core.netdev_max_backlog = 30000

net.ipv4.tcp_no_metrics_save=1

net.core.somaxconn = 262144

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_orphans = 8000

net.ipv4.tcp_max_syn_backlog = 8000

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

     net.ipv4.tcp_wmem=4096 65536 16777216 :为自动调优定义每个 socket 使用的内存。第一个值4096是为socket 的发送缓冲区分配的最少字节数。第二个值65536是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值。第三个值16777216是发送缓冲区空间的最大字节数(该值会被wmem_max 覆盖)

     net.ipv4.tcp_rmem=4096 87380 174760:与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。

     net.core.rmem_max = 25165824        #定义最大的TCP/IP栈的接收窗口大小

net.core.rmem_default = 25165824   #定义默认的TCP/IP栈的接收窗口大小

net.core.wmem_max = 25165824        #定义最大的TCP/IP栈的发送窗口大小

net.core.wmem_default = 65536        #定义默认的TCP/IP栈的发送窗口大小

net.ipv4.tcp_sack =1                 #启用有选择的应答(Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段);(对于广域网通信来说)这个选项应该启用,但是这会增加对 CPU 的占用。

net.ipv4.tcp_window_scaling = 1        #启用RFC1323定义,支持超过64K窗口

net.ipv4.tcp_fack =1                 #启用转发应答(Forward Acknowledgment),这可以进行有选择应答(SACK)从而减少拥塞情况的发生;这个选项也应该启用。

net.ipv4.tcp_mem 24576 32768 49152 确定 TCP 栈应该如何反映内存使用;每个值的单位都是内存页(通常是 4KB)。第一个值是内存使用的下限。第二个值是内存压力模式开始对缓冲区使用应用压力的上限。第三个值是内存上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(但是要记住,其单位是内存页,而不是字节)。

posted @ 2019-06-30 13:04  樊伟胜  阅读(887)  评论(0编辑  收藏  举报