行业动态与技术知识
园区WiFi认证QoE怎么测量和优化
用户对WiFi认证的不满,很多时候不是认证失败,而是认证太慢。从连上WiFi到真正能刷微信,等了五六秒甚至十几秒,用户觉得这个网络很卡。认证QoE(体验质量)的核心指标,就是从用户触发认证到能正常上网的时间。这个时间怎么测、怎么压下来,是园区WiFi体验优化里很实在的一块。
先把认证时延拆开看。从用户连上WiFi到能用网,整个过程分这么几段:终端和AP完成关联和四次握手,这一段通常几百毫秒;AC把未认证流量重定向到Portal,浏览器发第一个请求,这一段取决于信号和网络;Portal服务器返回页面,用户看到登录框;用户输入账号密码(这一段是用户操作时间,不算系统时延,但要算总体验时间);点登录之后,Portal把请求发给RADIUS,RADIUS查后端用户目录,返回结果;AC放行,浏览器跳转到落地页,之后用户真正能上网。
系统时延的目标值大概是这样:从点登录到放行成功,理想情况一秒以内;超过两秒,用户开始觉得慢;超过五秒,用户会反复点击。所以优化的方向是把这几秒压到一秒以内。
怎么测。后台要给每一次认证事件打时间戳:AP收到关联请求的时间、AC生成重定向的时间、Portal收到第一个HTTP请求的时间、Portal收到登录提交的时间、RADIUS发请求到收到响应的时间、AC放行用户的时间。这些时间戳记下来,每次认证的各段耗时就都能看到了。不要只看"总认证时间",要拆成段,才能定位是哪一段慢。
常见的瓶颈在哪。
Portal页面加载慢。Portal服务器在公网,用户在园区内网访问公网再绕回来,DNS解析、TCP握手、TLS握手、页面传输,一套下来就要两秒。Portal应该部署在园区内网,用户未认证状态下走内网就能访问,不绕公网。页面静态资源要小,图片压缩,CSS内联,不要加载外部脚本。
RADIUS查AD慢。每次认证都打AD域,AD域服务器响应慢的话,这一段就是大头。前面讲过,RADIUS做本地账号缓存,最近认证过的账号直接本地验,不用每次查AD。缓存有效期内,这一段从几百毫秒降到几毫秒。
DNS解析慢。用户打开浏览器,系统要先解析域名。未认证状态下的DNS解析如果走公网DNS,会绕一圈。园区内部署自己的DNS,未认证用户也能正常解析,这一段就快了。智能DNS还要按运营商分,电信用户走电信DNS,联通用户走联通DNS,打开网页才不会卡。
重定向延迟。用户连上WiFi之后,第一次打开浏览器要等多久才弹Portal页面。这个延迟主要是AP和AC之间的转发延迟,以及AC到Portal的链路。AC和Portal要放在同一个机房,走内网专线,不要跨广域网。
用户操作时间也要看。有些用户打开Portal之后愣几秒才想起来输密码,这个不是系统慢,是用户自己的时间。但如果Portal页面默认焦点在账号输入框,用户打开就能直接打字,能省一两秒。登录按钮要够大,手机上拇指一下就能点到。这些小细节加起来,总体验时间能少好几秒。
优化之后要验证。上线新版本或者新设备之后,后台拉一周的认证时延分布,看P50、P95、P99三个值。P50是一半用户能达到的速度,P95是绝大多数用户的速度,P99是最慢的那批用户。如果P50在一秒以内、P95在两秒以内,整体体验就合格;如果P99很高,说明有少数用户在特定区域或者特定设备上特别慢,要单独排查。
还有一个容易忽略的点:首次认证和后续认证的时延差别。首次认证走完整流程,要弹Portal、输密码,慢一点用户能理解。后续连接靠MAC无感知,应该是毫秒级放行,用户几乎感知不到。如果后续连接也要等好几秒,说明MAC无感知没配好,或者会话过期时间太短,用户每次都在重新走完整认证。把MAC无感知的窗口配长一点,用户感知到的"认证"次数会少很多,整体体验自然就好了。
弱网环境的时延要单独看。前面讲过地下车库、电梯这些地方,认证请求丢包重传,时延会比正常区域高很多。这种情况不要靠优化服务器来解决,因为问题在无线链路。还是要靠MAC无感知提前放行,让用户在弱网区域根本不需要触发认证。
认证QoE不是一个模糊的"快一点"的要求,它是一组可以测、可以压、可以持续监控的指标。把每段时间戳打出来、把瓶颈定位到具体环节、把P95压到两秒以内,用户感知到的WiFi体验就从"卡"变成"顺"。用户不会记得你后台做了多少优化,但他会说"这个园区WiFi连上去很快"。这就是QoE优化的全部意义。
实际测量方法也很实在。IT可以在测试手机上用浏览器开发者工具看网络请求时间,从打开Portal到登录按钮可点,记录每一步的耗时;也可以在Portal服务器上用curl模拟认证请求,测后端处理时间。后台日志里的时间戳和手机端实测结果对照,就能发现是无线链路慢还是服务器慢。不要只凭用户反馈"我觉得卡"就开始优化,要用数据定位。
还要区分认证时延和上网带宽。用户说"网慢",可能是认证慢,也可能是认证完之后带宽不够、网页加载慢。这两个问题要分开测:连上WiFi之后ping一下外网,看延迟和丢包;再开一个大文件下载,看实际速率。如果认证只要一秒,但下载跑不满带宽,那是出口带宽的问题,不是认证系统的问题。不要把所有用户不满都归到认证头上,也不要该优化认证的时候去扩容出口带宽。