☰
爱立信5G-KPI体系深度解析:从NSA到SA的指标映射与避坑指南
2026/10/1 14:14:00 网站建设 项目流程

简介:爱立信5G-KPI体系介绍是一份面向5G网络优化工程师、运营商运维人员及通信专业学习者的技术资料,系统梳理了5G网络性能评估的量化指标体系。内容覆盖接入性、保持性、移动性、完整性等维度,并区分NR NSA与NR SA两大类统计指标,涉及NR Leg建立与释放、切换成功率、PRB利用率、上下行干扰、用户面时延、小区完好率等关键计数器。资料还结合单站验证、簇优化与全网优化三个层次,说明路测KPI与网管性能指标的关注重点,并给出不同时期NR终端(发展期、成熟期NSA/SA)的指标差异,以及5G覆盖优化中SS-RSRP、SS-SINR、上下行平均速率、5G驻留时长占比等目标值参考。资源包为1个pptx文件,约450KB,以幻灯片形式呈现,便于培训讲解与快速查阅。目前已有143人学习,适合需要建立5G KPI整体认知、对照指标定义与验收要求的读者参考使用。

1. 爱立信5G-KPI体系:从NSA到SA,一套指标怎么把网络问题钉死在坐标上

NSA组网下用户投诉网速慢,你登上EMIL页面一看,NR小区的平均下行吞吐率明明有300Mbps,可用户就是刷不动视频。问题出在哪?答案往往藏在KPI的“定义域”里——爱立信5G-KPI体系不是一堆指标的简单堆砌,而是一套从NSA双连接锚点、NR小区级、UE级到QoS流级的四层观测坐标系。它解决的核心问题是:把“网络感觉不好”这种模糊描述,翻译成可定位、可对比、可回溯的数字证据。这套体系适合谁?日常跑EMIL、ENM或北向性能接口的网优工程师,做5G基站(gNB)开通验收的集成人员,以及需要从KPI反推参数配置是否合理的规划人员。你不需要背下所有计数器,但必须理解每个KPI背后的测量点和触发条件,否则就会像我当年一样,拿着错的口径去怼核心网,最后发现是自己没搞清NSA场景下Split Bearer的PDCP层统计归属。

2. 爱立信5G-KPI的四层坐标系:从NSA锚点到SA独立承载的指标映射

2.1 NSA与SA下KPI统计对象的本质差异

NSA架构里,UE同时连接LTE锚点(MeNB)和NR辅节点(SgNB),用户面数据可以通过Split Bearer分流。爱立信的性能计数器在NSA场景下,NR小区级吞吐率只统计经由NR的PDCP SDU字节数,而LTE侧统计的是锚点承载部分。如果你直接拿NR小区下行吞吐率和SA组网下的同名字段对比,数值会系统性偏低,因为NSA下部分数据走了LTE。SA组网后,NR成为唯一服务节点,所有QoS Flow的PDCP层统计都归到NR小区,此时KPI才真正反映NR空口能力。常见做法是:在NSA验收阶段,必须同时看E-UTRAN和NR两套计数器,用Split Bearer流量占比做加权还原;SA阶段则直接看NR小区级PDCP吞吐率。

2.2 爱立信KPI的命名规则与计数器层级

爱立信性能管理模型里,KPI通常由多个PM计数器聚合而成。命名上常见前缀如pmRadioThrptDl、pmRadioThrptUl,后缀区分小区级、UE级、QoS流级。以pmRadioThrptDl为例,它统计的是NR小区下行PDCP SDU吞吐量,单位kbps,采样周期默认15分钟或5分钟。UE级计数器如pmUeThrptDl则按UE粒度聚合,适合做用户感知分析。QoS流级计数器如pmQosFlowThrptDl用于5QI维度的业务质量监控。理解这些层级的关键是:小区级看容量趋势,UE级看用户分布,QoS流级看业务质量。选型时,如果你要做覆盖与容量联合优化,小区级+UE级足够;如果要诊断VoNR或云游戏卡顿,必须下钻到QoS流级。

2.3 从OSS北向接口拉取KPI的实操步骤

爱立信OSS(ENM/EMIL)提供北向性能接口,通常基于SOAP/XML或REST。以下是一个用Python通过SOAP接口拉取PM数据的简化示例,实际地址和认证方式以你所在网络为准。

# 爱立信OSS北向性能接口拉取PM计数器示例 # 依赖:zeep (pip install zeep) from zeep import Client from zeep.transports import Transport from requests import Session from requests.auth import HTTPBasicAuth # OSS北向接口地址,通常形如 https://<enm-host>:<port>/pm/ws wsdl = "https://enm.example.com:8443/pm/ws?wsdl" session = Session() session.auth = HTTPBasicAuth("your_user", "your_pass") session.verify = False # 实验环境跳过证书校验,生产环境务必开启 client = Client(wsdl, transport=Transport(session=session)) # 构造查询:指定网元、计数器、时间范围 request = { "neName": "NRCellDU=CellA", "pmCounters": ["pmRadioThrptDl", "pmRadioThrptUl", "pmUeThrptDl"], "startTime": "2025-01-01T00:00:00", "endTime": "2025-01-01T01:00:00", "granularity": "5min" } # 实际方法名以WSDL定义为准,此处为示意 result = client.service.getPmData(**request) for row in result: print(row.counterId, row.value, row.timestamp)

逻辑说明:先建立带认证的Session,再通过zeep加载WSDL生成客户端。查询参数里neName指定网元对象,pmCounters列出需要的计数器,granularity决定采样粒度。参数说明:startTime和endTime建议不超过24小时,避免单次响应过大;granularity常用5min或15min,做实时优化用5min,做日报用15min。失败时先看HTTP状态码,401是认证问题,500多半是网元名或计数器名写错。注意:生产环境不要关闭证书校验,实验环境可临时跳过。

2.4 小区级与UE级KPI的聚合口径

小区级KPI是UE级数据的聚合,但聚合方式有坑。爱立信计数器里,pmRadioThrptDl是小区内所有UE的PDCP SDU字节数总和除以统计周期,而pmUeThrptDl是每个UE的平均吞吐率。如果你用UE级平均值去反推小区级,会忽略UE数量变化的影响。正确做法是:小区级吞吐率 = 总字节数 / 统计周期;UE级平均吞吐率 = 总字节数 / 活跃UE数 / 统计周期。做容量规划时,看小区级;做用户感知投诉分析时,看UE级分布,尤其是5%分位值。常见误用是拿UE级平均值当小区级用,导致扩容判断偏乐观。

3. 爱立信5G-KPI核心指标拆解:接入性、保持性、移动性、吞吐率

3.1 接入性KPI:RRC连接建立成功率与NG接口成功率

接入性KPI反映UE能否顺利接入网络。核心计数器包括pmRrcConnEstabSucc、pmRrcConnEstabAtt,以及NG接口的pmNgSigConnEstabSucc。RRC连接建立成功率 = RRC建立成功次数 / RRC建立尝试次数。NSA场景下,还要看SgNB添加成功率pmSgnbAddSucc和pmSgnbAddAtt。SA场景下,NG接口成功率直接反映gNB与5GC之间的信令面健康度。参数设置上,RRC建立尝试次数包含所有触发原因(如mo-Signalling、mo-Data、mt-Access),分析时要按原因拆分。如果mo-Data成功率低而mo-Signalling正常,多半是无线覆盖或随机接入问题;如果mt-Access成功率低,检查寻呼容量和Paging DRX配置。

3.2 保持性KPI:掉线率与QoS Flow释放原因

保持性KPI看掉线率和异常释放。爱立信计数器pmRrcConnRelAbnormal统计异常释放次数,pmRrcConnRelNormal统计正常释放。掉线率 = 异常释放 / (异常释放 + 正常释放)。SA下还要关注QoS Flow释放原因,pmQosFlowRelCause按原因分类,常见原因有RadioConnectionWithUeLost、NgApCause等。如果RadioConnectionWithUeLost占比高,说明空口链路失败,查上行覆盖和干扰;如果NgApCause高,查核心网或NG接口传输。参数上,掉线率统计周期内样本数太少时(如小于100),数值波动大,建议至少观察24小时。

3.3 移动性KPI:切换成功率与Xn接口切换

移动性KPI包括站内切换、Xn口切换、NG口切换成功率。爱立信计数器pmHoExeSucc、pmHoExeAtt按切换类型细分。切换成功率 = 切换执行成功 / 切换执行尝试。SA组网下,Xn口切换是主流,NG口切换用于Xn不可用场景。如果Xn口切换成功率低,先查Xn传输链路和邻居关系;如果NG口切换成功率低,查AMF和NG接口。参数上,切换尝试次数包含同频、异频、异系统,分析时要过滤。常见坑是切换门限配置过晚,导致UE来不及切换就掉线,此时切换成功率可能正常,但掉线率会升高。

3.4 吞吐率KPI:下行/上行PDCP吞吐率与调度效率

吞吐率KPI是用户感知最直接的指标。爱立信计数器pmRadioThrptDl和pmRadioThrptUl统计PDCP SDU吞吐量。下行吞吐率受限于调度RB数、MCS、MIMO层数和BLER。上行吞吐率还受限于UE功率和PUSCH配置。分析时,要结合pmRadioPrbUsedDl(PRB利用率)和pmRadioBlerDl(BLER)。如果PRB利用率高但吞吐率低,查MCS和BLER;如果PRB利用率低,查调度策略和UE数量。参数上,pmRadioThrptDl单位是kbps,做对比时统一换算成Mbps。常见误用是拿峰值吞吐率当平均值,忽略统计周期内的波动。

4. 爱立信5G-KPI避坑与排查:那些年我踩过的计数器口径坑

4.1 坑一:NSA下NR吞吐率偏低,误判为NR覆盖问题

现象:NSA组网验收,NR小区下行吞吐率只有150Mbps,远低于理论值,但RSRP和SINR都很好。原因:NSA下Split Bearer分流,部分数据走LTE锚点,NR侧PDCP只统计经NR的字节数。解决:同时拉取LTE侧吞吐率,计算Split Bearer流量占比,用总吞吐率评估NR能力。如果总吞吐率达标,NR覆盖没问题,只是统计口径问题。

4.2 坑二:RRC连接建立成功率突然下降,实际是参数修改导致

现象:某小区RRC建立成功率从99%掉到85%,无告警。原因:前一天有人修改了preambleInitialReceivedTargetPower,导致随机接入成功率下降,进而影响RRC建立。解决:查参数修改日志,对比修改前后的pmRaSucc和pmRaAtt。如果随机接入成功率同步下降,定位为参数问题。回退参数后恢复。

4.3 坑三:切换成功率正常但掉线率升高,切换门限过晚

现象:切换成功率99%,但掉线率从0.5%升到2%。原因:切换门限(如A3 Offset)配置过大,UE直到信号很差才触发切换,切换成功后很快又掉线。解决:查切换尝试次数和掉线时的RSRP,如果掉线时RSRP低于-120dBm,说明切换过晚。调整A3 Offset或TimeToTrigger,提前切换。

4.4 坑四:QoS Flow释放原因统计为0,实际是计数器未开启

现象:SA下想分析QoS Flow释放原因,但pmQosFlowRelCause全为0。原因:该计数器需要License或功能开关开启,默认可能关闭。解决:查OSS性能管理里该计数器的采集状态,联系爱立信支持开启。开启后重新采集。

4.5 坑五:UE级吞吐率平均值正常,但用户投诉网速慢

现象:UE级平均下行吞吐率200Mbps,但部分用户投诉慢。原因:平均值掩盖了分布,5%分位值可能只有10Mbps。解决:拉取UE级吞吐率分布,看5%分位值和最差值。如果低分位值差,查这些UE的RSRP、SINR和调度RB数,定位是覆盖问题还是调度问题。

5. 爱立信5G-KPI进阶:用KPI反推参数与自动化监控

5.1 用KPI趋势反推参数配置是否合理

KPI不是孤立的数字,趋势里藏着参数配置的线索。比如,下行吞吐率在一天内周期性波动,但PRB利用率平稳,查MCS和BLER是否随温度或时间变化,可能是外部干扰。再比如,切换成功率在特定时间段下降,查邻区关系是否漏配,或者Xn链路是否拥塞。我一般会做一张KPI与参数的关联表,把常见KPI异常映射到可能的参数集,比如RRC建立成功率低映射到随机接入参数、切换成功率低映射到移动性参数、吞吐率低映射到调度和MIMO参数。这样排查时不用盲猜。

5.2 基于Python的KPI自动化监控脚本框架

手动拉KPI做日报效率低,我一般写个脚本定时拉取并告警。以下是一个框架示例,实际使用时替换OSS地址和计数器。

# 爱立信KPI自动化监控框架示例 import schedule import time from zeep import Client from zeep.transports import Transport from requests import Session from requests.auth import HTTPBasicAuth # 阈值配置 THRESHOLDS = { "pmRrcConnEstabSuccRate": 0.98, # RRC建立成功率低于98%告警 "pmHoExeSuccRate": 0.97, # 切换成功率低于97%告警 "pmRadioThrptDl": 100000 # 下行吞吐率低于100Mbps告警 } def fetch_kpi(): session = Session() session.auth = HTTPBasicAuth("user", "pass") session.verify = False client = Client("https://enm.example.com:8443/pm/ws?wsdl", transport=Transport(session=session)) # 拉取最近5分钟数据 data = client.service.getPmData( neName="NRCellDU=CellA", pmCounters=["pmRrcConnEstabSucc", "pmRrcConnEstabAtt", "pmHoExeSucc", "pmHoExeAtt", "pmRadioThrptDl"], startTime="2025-01-01T00:00:00", endTime="2025-01-01T00:05:00", granularity="5min" ) return data def check_and_alert(): data = fetch_kpi() # 计算成功率 rrc_succ = sum(d.value for d in data if d.counterId == "pmRrcConnEstabSucc") rrc_att = sum(d.value for d in data if d.counterId == "pmRrcConnEstabAtt") if rrc_att > 0: rate = rrc_succ / rrc_att if rate < THRESHOLDS["pmRrcConnEstabSuccRate"]: print(f"告警:RRC建立成功率 {rate:.2%} 低于阈值") # 吞吐率检查 thrpt = [d.value for d in data if d.counterId == "pmRadioThrptDl"] if thrpt and max(thrpt) < THRESHOLDS["pmRadioThrptDl"]: print(f"告警:下行吞吐率 {max(thrpt)} kbps 低于阈值") # 每5分钟执行一次 schedule.every(5).minutes.do(check_and_alert) while True: schedule.run_pending() time.sleep(1)

逻辑说明:脚本用schedule库定时触发,fetch_kpi拉取指定计数器的5分钟粒度数据,check_and_alert计算成功率并对比阈值。参数说明:THRESHOLDS里的阈值根据网络基线调整,新站可放宽,成熟站收紧。失败时先看网络连通性和认证,再看计数器名是否拼写正确。注意:生产环境不要关闭证书校验,脚本部署在OSS侧或跳板机上,避免跨网段访问。

5.3 KPI下钻分析的一个具体技巧:从小区级到UE级

当你发现小区级KPI异常时,不要停在小区级。我一般按这个顺序下钻:先看小区级吞吐率和PRB利用率,判断是容量问题还是覆盖问题;如果PRB利用率高但吞吐率低,拉UE级吞吐率分布,看是普遍低还是个别UE低;如果个别UE低,查这些UE的RSRP、SINR和调度RB数,定位是远点用户还是干扰;如果普遍低,查MCS和BLER,看是否调制编码策略保守或误块率高。这个下钻路径能帮你从“小区有问题”快速定位到“具体哪个UE、哪个参数、哪个原因”。我自己的习惯是,每次处理投诉先拉UE级数据,再回头看小区级,这样不容易被平均值骗。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询