常见典型问题

web

DNS

DNS超时问题排查

Nginx

1.access日志中出现响应码499、502、504

502: 网关或代理从上游得到无效的响应
504: 网关或代理等待上游响应超时

2.nginx reload平滑重启时,客户端收到RST

对于开启了keepalive的nginx在重启时会断开保持的连接(不管请求是否完成),对端对断开的连接操作会收到RST包

监控

  1. 引发网络峰刺原因
  • 日志发送
  • 网络抖动
  • DNS解析

php

操作系统

TCP/IP问题

1.典型的TCP优化问题
nagle/delay ack/tck_cork
典型的TCP优化问题

网络编程

1.服务端bind绑定端口时报错Address already in use

明明服务已经停止了,却还是无法绑定,这是因为TCP套接字状态TIME_WAIT引起的。该状态在套接字关闭后保留约2~4分钟,在TIME_WAIT状态退出后,套接字删除,该地址才能被重新绑定。
解决方法: 通过SO_REUSEADDR来重用端口解决问题

reuseport 支持多个进程或线程绑定到同一端口,即创建N个reuseport套接字同时工作,当连接到来时内核会取一个套接字来处理它,这样就达到了负载均衡的目的。