在Linux服务器中,可以通过内核调优、DPDK、XDP来提升服务器的抗攻击能力,减少DDoS对服务器的影响正常服务。影响。在应用中,可以使用各级缓存、WAF、CDN等来减轻DDoS对应用的影响。但是需要注意的是,如果DDoS流??量到达了Linux服务器,即使在应用层做了各种优化,网络服务延迟一般也会比平时大很多。所以在实际应用中,我们通常会使用带有专业流量清洗和网络防火墙设备的Linux服务器来缓解这个问题。除了DDoS导致的网络延迟增加,我想你一定见过很多其他原因导致的网络延迟,比如网络传输慢导致的延迟。由Linux内核堆栈中缓慢的数据包处理引起的延迟。应用数据处理慢等导致的延迟。那么遇到这些原因导致的延迟我们应该怎么办呢?如何定位网络延迟的根源?让我们在本文中讨论网络延迟。LinuxNetworkLatency说到网络延迟(NetworkLatency),人们通常认为是指网络数据传输所需要的时间。不过这里的“时间”指的是双向流量,即数据从源端发送到目的地,然后从目的地址返回响应的往返时间:RTT(Round-Trip时间)。除了网络延迟之外,另一个常用的指标是应用延迟(ApplicationLatency),它指的是一个应用从收到请求到返回响应所花费的时间。通常,应用程序延迟(也称为往返延迟)是网络数据传输时间加上数据处理时间的总和。通常人们使用ping命令来测试网络延迟。Ping基于ICMP协议。它通过计算ICMP发送的响应消息和ICMP发送的请求消息之间的时间差来获得往返延迟时间。这个过程不需要特殊的认证,所以经常被很多网络攻击所利用,比如端口扫描工具nmap,分组工具hping3等。所以很多网络服务为了避免这些问题,禁用了ICMP,使得无法使用ping来测试网络服务的可用性和往返延迟。在这种情况下,您可以使用traceroute或hping3的TCP和UDP模式来获取网络延迟。例如:#-c:3requests#-S:SetTCPSYN#-p:Setportto80$hping3-c3-S-p80google.comHPINGgoogle.com(eth0142.250.64.110):Sset,40个标头+0个数据字节len=46ip=142.250.64.110ttl=51id=47908sport=80flags=SAseq=0win=8192rtt=9.3mslen=46ip=142.250.64.110ttl=51id=6788sport=80flags=SAseq=1win=8192rtt=10.9mslen=46ip=142.250.64.110ttl=51id=37699sport=80flags=SAseq=2win=8192rtt=11.9ms---百度.comhpingstatistic---3packetstransmitted,3packetsreceived,0%packetlossround-tripmin/avg/max=9.3/10.9/11.9ms当然,你也可以使用traceroute:$traceroute--tcp-p80-ngoogle.com到google.com(142.250.190.110)的跟踪路由,最多30跳,60字节数据包1***2240.1.236.340.198ms**3**243.254.11.50.189ms4*240.1.236.170.216ms240.1.236.240.175毫秒5241.0.12.760.181毫秒108.166.244.150.234毫秒241.0.12.760.219毫秒...24142.250.190.11017.465毫秒108.1712毫秒184.2442.251.60.20718.595mstraceroute在路由的每一跳发送三个数据包,并在收到响应后输出往返延迟如果没有响应或响应超时(默认5s),将输出星号*。案例展示我们需要在这个演示中托管host1和host2两个主机:host1(192.168.0.30):托管两个Nginxweb应用程序(正常和延迟)host2(192.168.0.2):分析主机host1在host1上准备就绪,让我们运行并开始两个容器,官方Nginx和Nginx延迟版本:/nginx:latencyb99bd136dcfd907747d9c803fdc0255e578bad6d66f4e9c32b826d75b6812724运行以下命令以验证两个容器都在服务流量:$curlhttp://127.0.0.1...html>
感谢您使用nginx。