最近家里换了好几样智能设备,从智能门锁到摄像头,再到温控系统,全都连上了Wi-Fi。一开始觉得挺方便,结果用着用着就开始卡顿,手机App时不时提示“连接超时”,设备响应也慢半拍。折腾了一阵子才发现,问题不全在路由器,而是在“连接池”这个容易被忽略的地方。
什么是连接池?听起来很技术,其实和水龙头有点像
你可以把家里的网络看作一个供水系统,每个设备就像一个用水的终端——电视、手机、冰箱、空调都在“接水”。路由器能同时处理的连接数是有限的,这就像是家里装了五个水龙头,但水管只能支持三个同时开。剩下的就得排队等,这就是连接池的概念。
很多家用设备在后台会频繁建立和断开网络连接,比如智能音箱每隔几秒就去服务器“报到”一次。如果没做连接复用,每次都要重新“开水龙头”,时间一长,连接池就被占满了,新来的请求只能干等着。
我家是怎么优化的?几个小改动见效快
第一步是检查设备设置。有些设备默认开启了“高频率心跳”,也就是不停发请求确认在线状态。我把智能灯带的心跳间隔从10秒调到60秒,连接压力立马降了下来。
第二步是改用支持连接复用的智能家居中枢。比如换了个支持MQTT协议的网关,它用一个长连接统一管理所有设备通信,而不是每个设备各自为战。这样原本20个短连接变成1个长连接,路由器轻松多了。
第三步是设置路由器的连接数限制。我家用的是OpenWRT固件,在防火墙设置里可以调整最大连接数和超时时间。把TCP连接的空闲超时从600秒改成120秒,避免“僵尸连接”占坑。
iptables -t nat -A POSTROUTING -o br-lan -j MASQUERADE
sysctl -w net.netfilter.nf_conntrack_max=8192
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=120
别忽视固件和协议的选择
后来发现,有些老设备用的是HTTP轮询,效率特别低。换成支持WebSocket或CoAP协议的新款传感器后,不仅响应快,耗电也少了。这就像从每天跑三趟邮局寄信,变成了在家等快递上门收件。
还有一次,孩子平板看视频卡顿,查了半天才发现是爷爷的老年机热点还在连着,虽然没用流量,但一直挂着连接。后来在路由器里设了设备自动下线规则,超过30分钟无数据交互就断开,清爽多了。
现在家里十几台设备同时运行,App响应快,语音控制几乎无延迟。其实不用懂太多底层原理,只要意识到“连接不是无限的”,日常使用中注意点细节,体验提升很明显。