web
DNS
Nginx
1.access日志中出现响应码499、502、504
502: 网关或代理从上游得到无效的响应
504: 网关或代理等待上游响应超时
2.nginx reload平滑重启时,客户端收到RST
对于开启了keepalive的nginx在重启时会断开保持的连接(不管请求是否完成),对端对断开的连接操作会收到RST包
监控
- 引发网络峰刺原因
- 日志发送
- 网络抖动
- 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套接字同时工作,当连接到来时内核会取一个套接字来处理它,这样就达到了负载均衡的目的。