RRDtool性能优化的研究与实现 RRDtool性能优化的研究与实现

RRDtool性能优化的研究与实现

  • 期刊名字:襄樊职业技术学院学报
  • 文件大小:793kb
  • 论文作者:吴纲
  • 作者单位:湖北工业大学
  • 更新时间:2020-09-30
  • 下载次数:
论文简介

第7卷第4期襄樊职业技术学院学报VoL7 No.42008年7月Joumal of Xiangfan Vocational and Technical CollegeJul .2008RRDtool性能优化的研究与实现吴纲(湖北工业大学计算机学院, 湖北武汉430068)摘要:对Linux下开源软件RRDtool进行了简单的介绍,阐明了RRDtool存在性能优化的空间,分析了RRD数据库文件格式,提出了提高性能的RRDServer 后台服务进程设计方案,并给出了相关的测试方法、测试结果与结论。关键词:流量检测系统;RRD;DS中图分类号:TP315文献标识码:A文章编号:1671-914X(2008)04 -0007 -031 RRDtool与RRD数据库RRADSrRDtool全称为round robin database tool,通常RRAo,0DSHDS2DS_-IDS。~RRAo, 1DS_I)S。应用在网络流量系统中,用来存储网络流量信息。由于网络流量较快,普通数据库如MySQL.oracle很难RRAo,koDS.满足在容量与性能等方面的需求,RRDtool却用---种RRA,0特殊的设计方式解决了此类问题[2引1。RRDtool 以某RRA,k种统计形式(最大值、最小值、平均值等)来循环存储RRA2,ODS,DS_1.............历史数据,从数据结构的角度说就是循环队列,从而RRA2,ks .实现了RRD数据库文件大小不变的特性(1。RRDtool目前在设计上也存在一定的缺陷,如在RRA.m__DSDS,图1RRA与DS的关系图提取数据时只能提取所有的数据源,不能按数据源(DS)名称提取数据,灵活性较差。同时,由于RRD-cookieversiontool的数据更新为磁盘操作,对于某些实时系统频繁ds countma count地更新、索引数据很不利,如果能够将RRDtool的数last update time据库文件放在内存中将极大地提高系统的性能。所RRAg,0以无论在RRDtoo的灵活性和性能方面都有非常大RRAo,1.DS_ DS。的改进空间。RRAz.02RRD数据库格式分析通过RRDtool创建的RRD数据库文件大体上分成两部分:数据库文件头部信息和数据库文件实图2RRDtool数据库文件整体模型体数据部分5。头部信息中主要包含一些版本信息3 RRD server设计如版本号、数据存储信息如数据源(DataSource)数本文针对目前RRDtool存在的缺陷和性能方面量,RRA(Round Robin Area)数量最近更新时间、更的问题对RRDtool进行了一定的改进,改进后的新时间间隔等信息。RRD数据文件最重要的部分为RRDtool称为RRD server。 该RRD server 不改变数据实体部分,该部分有两个重要概念,分别为.RRDtool数据文件的存储形式(RRA形式),目的是对RRA和DS。RRA- _循环存储区域为数据载体,DS-数所有的RRDtool 的数据文件进行兼容,同时也减小据源为数据实体。一个RRD数据库文件有多种工作量。RRDserver功能包括:数据库文件load(加RRA,而每种RRA中存在多条RRA纪录,在每条载)到内存、更新内存中数据库数据、索引内存中数RRA中存储多个数据源(DS)6。据库数据、网络功能和数据备份功能。图1为RRA与DS的关系图,RRDtool数据库3.1数据库 文件load(加载)到内存文件的整体模型如图2所示中。中国煤化工命令创建的数据收璃日期:2008-03-28THCNMHG作者简介:吴纲(1976- -).男,期北武穴人,武汉职业技术学院教师,湖北工业大学计算机学院20w减以上制九工。-7-第7卷第4期襄樊职业技术学院学报2008年第4期库文件加载到内存中。对该数据文件的更新全部改RRD server为对内存区域的更新,同时指定一个定时时间间隔,在指定时间间隔到达时,将内存中的数据更新到物RRD server命令行解析模块理磁盘.上。3.2更新内存中数据库数据该功能更新通过第一步加载到内存中的数据冒|库,这样相对于更新磁盘来说,有非常高的系统性能西系提升。信|统据昌|信存3.3索引 内存中数据库数据器|显|储从第一步加载到内存的数据库中提取所需要数奥|块获.快据,相对于从磁盘提取数据来说,有非常高的性能提升。3.4 网络功能图4 RRDserver 程序框架图将RRDserver设计成类似于MySQL的运行模式,数据库的创建、加载、更新、索引等一系列操作都4测试是通过Client的命令行传输给Server 端,然后由4.1测试指标Server端进行相关的处理,Server将处理后的结果传RRD server设计的目的就是弥补缺陷、提高效输给Client。同时RRD server的一些运行信息,例如.率,但是首要的目标是正确性,所以RRDserver的测定时器时间间隔、数据库备份目录等Client可以通.试指标分为两个指标,分别为正确性和运行效率。过get.set命令获取到。其交互过程如图3。4.2测试方案4.2.1 RRD server 正确性测试 正确性测试时利用RRD severshell脚本随机生成数据分别向RRDtool和RRDRRD server装规文件server插入数据,然后从RRDtool和RRD server中提装载是否成功取数据,最后对提取的数据进行比对,如果提取的数据.创建数据库创建数据库是否成功一样,则说明RRDserver满足正确性,否则不满足。引数据厍数据"4.2.2 RRD server性能测试在测试 RRD server性索引数据库数据结果能时采用汇编指令Rdtsc来获取数据更新或提取操更新数据库数据作所消耗的时间。Rdtsc是一-条在Penium以上的更新数据库是否成功CPU中提供的汇编指令。该指令能够取得在开机以提取数据库信息来CPU执行的周期数,本文采用内联汇编的方法将返回数据库信息结果rdtse汇编进行封装成-一个 函数,该函数返回值为计算机开启到现在所执行的机器周期。测试时,将该函图3 RRDserver 交互图.数放在数据更新和数据索引的前后位置,将两者计3.5数据备份功能算的结果进行相减就是该更新或索引所消耗的CPU该功能的作用为保存已有的数据以避免在服务执行的周期,再将CPU执行周期除以CPU的主频就器出现故障时引起数据的丢失。原有RRDtool数据为更新与索引的耗时,具体的公式见式(1)。这样就能的更新和索引都是在磁盘进行操作,这样不会引起能够提高测试时间精度。数据丢失,但是RRDserver的所有数据信息都保留更新和索引耗时=: CPU执行周期在内存中,如果服务器出现问题,机器重新启动,那CPU主频么内存中的数据将丢失,所以要定时将内存中的数在进行测试时,对RRA与DS不同比例分别进据保存到硬盘上,以便在出现灾难的时候能够恢复行不同变形次数的测试,以全面测试RRDserver的到最近的状态。定时的时间间隔可以写在配置文件性能。 RRD serve的整体测试逻辑图如图5。中或者由Client端控制。4.3测试结果在备份了内存中的数据库文件后,磁盘上已有本文通过上面的测试方案进行测试得出RRD-的文件也要备份,从而达到双重保险的功能。该备份server能够满足正确性,在此不列举出测试数据,性可以由Client发送命令来启动,同时能够设定备份能测试的部分数掘如夷1所示的目录等一系列功能。根据上面功能点设计,RRD-中国煤化工树的RRDserver 与Server程序框架如图4。RRD.YHCNMHG9所示。通过测试数. 8-吴纲:RRDtool 性能优化的研究与实现∞rclientRRDerverRRDnool04-RRDtool create西0.02RRDtool update<100N更新次数RRDtool fetch图6 RRDServer 性能对比图(RRA:DS=1:1)RRDrool fetch-致测试失败)(测试成功图7 RRDServer 性能对比图(RRA:DS=1:50)图5测试逻辑图裘1 RRDServer 性能测试对比表RRA:DS更新数量(次) 110140200RRDtool0.0300.038 0.047 0.05:1毛0.1RRDserver0.0060.007 0.009 0.011书a0.056 0.069 0.083 0.0971:500.0160.020 0.025 0.0301:100RRDtoo0.0680.085 0.109 0.1260.027 0.034 0.041 0.049图8 RRDServer性能对比图(RRA:DS-=1:100)20:200.0420.048 0.064 0.07(0.0090.011 0.012 0.014十RDSem据的分析得出在单独提高RRA或DS的数量时性能提升较小,大多控制在5到6倍之间,如果能够同时毛.04提高RRA和DS的数量则性能提升较大。5结论通过对上面RRDserver测试结果的分析得出,RRDserver能够在正确性和性能上满足要求,所以改造后的RRDtool-RRDserver能够应用在具体的项目中以提高系统性能。图9 RRDServer性能对比图(RRA:DS=20:20)参考文献:[1 ]luca Der.fective Traffic Measurement Using ntop[J].Communications Magazine IEEE,2000, 38(5):138-143.[2]谢喜秋,梁洁.网络流量采集工具的分析和比较[J].电信科学,2002, 184):63- -66.[3] Wlliam Salling. SNMP网络管理[M].胡成松,汪凯,译.北京:中国电力出版,2001.[4]唐海娜,李俊.基于RRD的网络流量监测方法[]J]微电子学与计算机,2003 20(7):52 -55.[5] Luca D.Monitoring Networks Using Ntopl[C]Satle1EEE/IFTP Intemati中国煤化工[6] Tobi 0O.RRDTOOL[EB/0Ttp:/:/people e.ethz. chl/~ oetiker/ Webools/[7] Ben R.Cetting Staretd with RRDtol[EB/0:T:tp://www .cuddlecb.comMHCNMHG.(责任编辑:张韶虹).9-

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。