Page 492 - 《软件学报》2024年第4期
P. 492
2070 软件学报 2024 年第 35 卷第 4 期
占, 保障日志资源的合理分配. 流量控制功能将日志系统写日志资源从公共资源转化为了每个程序的私有资源, 一
方面有助于保护各个程序的日志资源使用权, 另一方面可以增加开发者的责任和动力去规范程序的写日志速率.
80 45
70 40
35
60
丢包率 (开启流控)
丢包率 (关闭流控) 30
50 CPU 占用率 (开启流控)
L A (%) 40 CPU 占用率 (关闭流控) 25 CPU 占用率 (%)
20
30 15
20 10
5
10
0
0
0 5 10 15 20
V input_A (KB/s)
图 12 开启/关闭 HiLog 的流量控制功能时的日志丢包率 L A 和 hilogd 的 CPU 占用率
4.3 HiLog 持久化性能分析
日志持久化是日志系统的重要功能之一, 其中重要的指标是持久化丢包率和压缩率. 持久化丢包率越低说明
在持久化阶段的信息损失量越少, 日志系统可以将更全面的日志保存到存储空间中; 而越低的压缩率说明在保存
相同信息的条件下, 日志系统可以节省更多的磁盘空间. 在以下测试中, 持久化丢包率 L p 和持久化压缩率 C p 的计
算公式为:
N input − N disk
L p = (3)
N input
S file
C p = (4)
(1− L p )×S input
其中, N inpu 和 t N dis 分别代表写入的日志数量和持久化到硬盘上的日志数量, S inpu 和 t S fil 分别代表写入的日志大
k
e
小和持久化到硬盘上的日志文件 (或压缩文件) 大小, 压缩策略采用流压缩.
本文首先对 HiLog 的持久化丢包率进行了测试, 重点考量了硬件性能和日志条数对持久化丢包率的影响, 如
图 13(a) 所示. 可以看到总体上 HiLog 日志持久化丢包率低于 6‰, 通过对 L p -N inpu 的最小二乘法拟合, 发现
t
HiLog 日志系统在所有测试平台上都表现出较高的稳定性, 即持久化丢包率随日志数量没有明显的变化.
15 300
Hi3516DV300 HiLog (RPI3B)
RPI3B Log (RPI3B)
250 232.2
DAYU200 HiLog 拟合曲线
Hi3516DV300 拟合曲线 Log 拟合曲线
10 200
RPI3B 拟合曲线
L p (‰) DAYU200 拟合曲线 L p (%) 150 125.2
5 100
53.4
50
13.4
1.8 2.2 2.2 2.3
0 0
0 50 000 100 000 150 000 200 000 0 50 000 100 000 150 000 200 000
N input (条) N input (条)
(a) 探究硬件平台对 HiLog 的 L p 的影响 (b) 在相同硬件平台比较 HiLog 和 Log 的 L p
图 13 HiLog 和 Log 持久化丢包率 L p 随 N inpu 的变化趋势
t