by 许通
高并发实践
实际上当时也有异步模式,如:select/poll模型,这些技术都有一定的缺点:如selelct最大不能超过1024、poll没有限制,但每次收到数据需要遍历每一个连接查看哪个连接有数据请求。
http://www.52im.net/thread-566-1-1.html
数据包长度分布率
数据包时间密度分布律
单链接对应内存占用
ssd硬盘和sas盘带来的差异
内存文件系统比较
linux配置
全局最大打开文件数
进程限制
内存的占用情况
10 万个连接
程只占用了不到 1MB 的内存
操作系统用了 200M(大致)内存来维护这 10 万个连接
控制 TCP 连接的发送和接收缓冲的大小
socket读写
TCP配置调优
异常处理
初始拥堵窗口
缓存区
TIME_WAIT快速回收
TIME_WAIT重用
滑动窗口
ava中是调用socket的 setSoLinger目前我们是设置为0的
移动弱网络优化
http://www.52im.net/thread-1588-1-1.html
https://cloud.tencent.com/developer/article/1005365
控制传输包的大小在1400字节以下
放大TCP拥塞窗口
调大SOCKET读写缓冲区
调大RTO(Retransmission TimeOut)初始值
禁用TCP快速回收?
打开SOCKET的TCP_NODELAY选项
接入调度
去DNS的IP直连
- HTTPDNS