优化服务器网络访问速度:解决CURL慢的问题-关闭IPV6支持。


现象:CURL请求URL地址,速度都在5秒以上。

说明:
在使用curl获取某接口时会curl: (6) Couldn’t resolve host ‘www.coolnull.com’。奇葩的是ping www.coolnull.com域名是通的。上网搜了下。
在CentOS6系统下,遇到最常见的问题就是curl: (6) Couldn’t resolve host ‘www.coolnull.com’。不仅仅curl会有这个问题,Python的urllib2也有这个问题,报错的信息如下:urllib2.URLError: 
还有个直观的问题就是,就是DNS域名解析变慢了,因为CentOS 6/REHL 6总是等待AAAA(IPv6)的查询结果。具体可以查看附录1:centos6需启用single-request-reopen参数
IPv6是为了解决IPv4地址耗尽的问题,但并不是所有人都需要它,也不是所有硬件都支持它。在某些情况下,可能会发现禁用IPv6不仅仅会加快网络,还会有助于减少管理开销和提高安全级别。


原因分析:系统开启了IPV6支持,导致网络消耗。

# 命令:ifconfig

# 注释:有 “inet6 addr:。。。。。。。“ 的表示开启了ipv6功能

v1

# 2、解决方法:关闭ipv6

# 解决:
1. 在/etc/resolv.conf文件中添加以下内容

echo "options single-request-reopen " >> /etc/resolv.conf

 
2. 修改/etc/sysctl.conf文件

echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf

/sbin/sysctl -p    # 使禁用IPv6生效

 

(下面待尝试,但作者未使用,仍然成功禁用IPV6):在/etc/modprobe.d/dist.conf结尾添加

echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf


4. 关闭ip6tables

chkconfig ip6tables off

service ip6tables stop

 
# 5. 禁用基于IPv6网络,使之不会被触发启动

echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network

 
# 6. 禁用网卡IPv6设置,使之仅在IPv4模式下运行。这个正常应该只有在网卡重启才会有效,所以也只是先暂时修改了下。

echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-bond0          #根据自己服务器的网卡对应文件名决定

echo "IPV6_AUTOCONF=no" >> /etc/sysconfig/network-scripts/ifcfg-bond0     #根据自己服务器的网卡对应文件名决定
 

7. 测试效果

time curl http://www.hexun.com/          #应该在0.1秒以内有返回结果。


#  成功完成。

移植curl但是zlib无法使能,如何解决问题 Host setup: arm-unknown-linux-gnueabihf Install prefix: /opt/rootfs/curl-7.79.0/curl-7.79.0/_install Compiler: arm-linux-gnueabihf-gcc CFLAGS: -Werror-implicit-function-declaration -O2 -Wno-system-headers -pthread CPPFLAGS: -isystem /opt/rootfs/openssl-1.1.1/openssl-1.1.1/_install/include LDFLAGS: -L/opt/rootfs/openssl-1.1.1/openssl-1.1.1/_install/lib LIBS: -lssl -lcrypto -ldl -lpthread curl version: 7.79.0 SSL: enabled (OpenSSL) SSH: no (--with-{libssh,libssh2}) zlib: no (--with-zlib) brotli: no (--with-brotli) zstd: no (--with-zstd) GSS-API: no (--with-gssapi) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: no (--with-{libidn2,winidn}) Build libcurl: Shared=yes, Static=yes Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) RTSP: enabled RTMP: no (--with-librtmp) PSL: no (libpsl not found) Alt-svc: enabled (--disable-alt-svc) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: no (--with-nghttp2, --with-hyper) HTTP3: no (--with-ngtcp2, --with-quiche) ECH: no (--enable-ech) Protocols: DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS MQTT POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP Features: AsynchDNS HSTS HTTPS-proxy IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets alt-svc
06-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值