一种虚拟化服务器性能的监测方法及系统的制作方法

文档序号:6632423阅读:764来源:国知局
一种虚拟化服务器性能的监测方法及系统的制作方法
【专利摘要】本发明公开了一种虚拟化服务器性能的监测方法,包含以下步骤:虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请求;测试机Client端使用TCP、UDP或TCP/UDP混合网络协议与虚拟机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试结果;主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表的形式展示出来。本发明的监测方法及系统,实现了虚拟化环境下的网络性能评测,并提供RPC实时远程监控虚拟机各项操作系统性能指标。
【专利说明】一种虚拟化服务器性能的监测方法及系统

【技术领域】
[0001] 本发明涉及虚拟服务器领域,特别涉及一种虚拟化服务器性能的监测方法及系 统。

【背景技术】
[0002] 近年来随着计算机硬件的发展使得功能强大而相对便宜的多处理器服务器成为 了主流,但在许多情况下,这些硬件的性能都不能得到充分的利用,而近年来随着多核心处 理器的普及,也使得这种不充分性更加严重,这使得业界对虚拟化技术越来越重视。
[0003] 虚拟化(Virtualization)技术起源于20世纪60年代的IBM大型机系统,在70 年代的System 370系列中逐渐流行起来,这些机器通过虚拟机监控器(Virtual Machine Monitor,VMM)在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。虚拟化环境提供了一个软件层,使得用户能够在同一个物理服务器内创建 多个独立的虚拟机,同时运行多个虚拟机虽然会有一些虚拟化方面的开销,但却可以使得 一台服务器得到更高的使用率。虽然这些虚拟机的基础物理资源是共享的,但每个虚拟机 完全独立的,并执行一个单独的操作系统和单独的应用软件。虚拟化作为能充分利用服务 器性能的技术现在已经是一个不可逆转的趋势,通过不同的虚拟化技术,可以有效地降低 物理服务器数量,而降低物理服务器的数量实际上也相应降低了服务器成本。[20] [21]文 献中利用虚拟化技术设计了自动化性能测试框架,该测试工具将负载生成器装载在不同的 分散的虚拟机上面,从而有效地提高了测试效率和提升了负载压力,为软件性能测试带来 很大的方便,降低测试成本。同时,通过虚拟化,客户还达到了改进服务器资源的利用率的 效果[6]。而且现在计算机越来越快的计算速度和更加强大灵活的虚拟化技术也为虚拟化 的应用创造了更多的机会,但如何衡量服务器虚拟化性能却是一个难题[2]。
[0004] 传统的服务器基准测试仅侧重于对单一工作量的检验,而无法获取支持多个虚拟 机系统的性能或者是在同一个服务器上同时支持多个工作量时服务器的性能。一个更为 恰当的虚拟机基准测试应该使用运行于多个操作系统上的现实且多样的工作量对服务器 的性能加以检验,而且该基准测试应该产生一个易于理解的指标[2]。标准性能评测公司 (standard performance evaluation corporation, SPEC)在 2006 年底成立了一个委员会 专门研究虚拟化解决方案评测方法[8]。但是无论是在学术界还是在工业界,对于什么样的 方法是评测虚拟化解决方案的最好方法,一直没有达成共识[4]。
[0005] 这些分歧的原因是由虚拟化本身的技术特征所决定的:
[0006] 首先虚拟化是一个广义的术语,不同的应用领域代表着不同的含义。在计算机科 学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。一般来说虚拟 化技术主要分为以下几个大类[1]:
[0007] 1)平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化;
[0008] 2)资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如 内存、存储、网络资源等。
[0009] 3)应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术 等。
[0010] 其次,平台虚拟化技术又可以细分为全虚拟化、部分虚拟化、硬件辅助虚拟化等 [3]。
[0011] 全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、夕卜 设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚 拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件 接口进行的,全虚拟化VMM以完整模拟硬件的方式提供全部接口,比较典型的代表有 Vmware, VirtualBox 等。
[0012] 部分虚拟化只模拟部分底层硬件,仅仅提供了对关键性计算组件或者指令集的模 拟,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修 改,比较流行的局部虚拟化VMM有Xen,Hyper-V。
[0013] 由此可见全虚拟化和部分虚拟化对虚拟机本身的整体性能也会有不同的影响,见 文献[5]。杜春阳[6]等人通过NPB的对称多处理性能表现测试比对了几种不同的虚拟化 技术在高性能计算系统和集群技术中的性能表现,基于NPB在单节点上测试了串行和并行 性能,并与原生态的NPB基准进行比对,得出了没有哪一种虚拟化技术可以完美的达到原 生系统的性能的结论以及粗略地分析了不同的VMM在不同标准中的性能表现。但文中测试 基准来源于流体动力学应用领域的软件,并不具有普遍性和代表性。
[0014] 因此,针对具体的企业应用的不同选择合适的虚拟机测试方法是很有研究意义和 实用价值的。
[0015] 尽管虚拟机以其在分区,隔离,和封装上的技术优势在很多领域都得到了广泛的 应用[7],但虚拟机在物理机中的运行仍会消耗部分的物理资源。虚拟机是对真实计算环境 的抽象和模拟,VMM需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器 的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM调度虚拟机时,将其部分状 态恢复到主机系统中。并非所有的状态都需要恢复,例如主机CR3寄存器中存放的是VMM 设置的页表物理地址,而不是Guest OS设置的值。主机处理器直接运行Guest OS的机器 指令,由于Guest OS运行在低特权级别,当访问主机系统的特权状态(如写GDT寄存器) 时,权限不足导致主机处理器产生异常,将运行权自动交还给VMM。VMM可能需要先将该虚 拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表Guest OS执 行相应的特权操作。最后VMM将运行权还给Guest 0S,Guest OS从上次被中断的地方继续 执行,或处理VMM陷入的虚拟中断和异常。由此可见大部分情况下,VMM需要经过复杂的流 程才能完成原本简单的操作,这对运行虚拟机中的应用系统整体性能会产生很大的影响。
[0016] 企业或者科研机构在面对种类繁多、各有特点的虚拟化技术时,往往比较关注虚 拟化技术的性能问题。首先,虚拟化的各种技术实现提供的性能是否存在很大的差异;其 次,应用程序运行在虚拟机上与直接运行在物理机上性能上的差异有多少。
[0017] Lorenzo Martignoni [9]等人通过分别在物理机和虚拟机环境下的用户态和核心 态两种运行模式进行基于特殊协议的模糊测试和差异性分析来比较不同的虚拟机与物理 机之间的不同,但这种测试方法重心更多地放在了物理机和虚拟机功能上面的差异,性能 上的差异较少涉及。
[0018] 由于虚拟机系统使用传统的存储模式导致虚拟化磁盘存储方面存在较差的性能, Dongsheng Yin[10]等人通过对VMware vSphere4. 0虚拟机进行虚实存储实验对比,给出了 一种基于SSD和基于共享的RAID阵列的I/O存储优化方案。文中只是针对虚拟机和物理 机的存储模块进行了深入研究,着重从虚拟机本身来解决虚拟机存储性能较差的问题,因 此不能从整体上对虚拟机与物理机进行整体性能分析。
[0019] 通过文献[11]我们可以看出目前对虚拟机的完整的负载测试的研究不足。Marco A. S. Netto [12]等人使用Loadrunner性能测试工具初步对不同CPU模式下的虚拟机和物理 机负载测试做了尝试,并进行了详细的虚实对比。但这种实验局限在Tomcat小型应用和轻 负载条件下的虚实对比,并没有对高负载条件下物理机和虚拟机的对比,而且实验条件也 只有Xen这一组条件。
[0020] Jianhua Che [13]等使用 CPU2006、RAMSPEED、Bonnie++等标准机制测试程序对 OpenVZ, Xen和KVM这三种开源的分别采用基于容器(Container-Based)的虚拟化、局部虚 拟化、完全虚拟化策略的VMM工具进行了黑盒测试,其测试指标包括了虚拟机的CPU、内存、 磁盘10、网络和更细致的微操作级别的系统操作上下文切换操作频率,最后通过测试结果 数据从白盒测试的角度分析其代码设计的优虐。其中研究角度更多的是站在VMM设计者的 角度来测试分析的,对改善VMM的设计提供了较好的建议,但对实际应用环境下的指导意 义有限。
[0021] Fares N. Almari [14]等人对比了 Orcale 数据库在 Orcale VM 和 Vmware ESXi 两 者虚拟化环境下的性能课拓展性以验证市场上Orcale宣称的OrcaleVm是Vmware ESXi性 能的数倍的说法是否正确,通过实验结果得出选择虚拟化产品应依据具体的应用需求,特 别是数据库的应用应依据读写带宽和事务率的高低来绝对ESXi的种类。但该实验主要是 针对Orcale数据库这一种数据库的性能对比,具有很大的局限性,并没有涉及到企业级应 用服务器负载条件下的性能分析。
[0022] Deshane [15] [17]等人对Xen和KvM的整体性能,隔离性,可拓展性等进行了一些 列的比较,目的是为了给VMM开发者提供设计的优化建议,为商业用户提供选择虚拟机的 建议。
[0023] WalterS[16]等人用标准的基准测试程序对不同类别的VMM进行了详细的对比, 包括了网络部署,SMP性能,文件系统和MPI的可用性等,但该测试的关注点是高性能(HPC) 计算条件下的虚拟机使用特性比较。
[0024] Daniel Schlosser [18]详细地比较了 OpenVZ, KVM, Xen v4, VirtualBox, VMware ESXi这5中虚拟机监控器在商业硬件环境下的网络带宽的性能。
[0025] 虚拟化技术作为云计算重要的组成部分,Dionisio Leite[19]等人研究了虚拟化 技术在云环境下的性能差异,在相同负载的情况下对宿主机和虚拟机进行负载测试,并在 一定条件下量化了 Xen和KVM并行运行时的最大数量。
[0026] 文献[22]设计了微基准测试框架以测试虚拟机的隔离性。
[0027] 文献[23]提出了一种单VM场景和多VM场景下的性能测试框架VTestKit以测试 虚拟机的整体性能,由于框架是以一组基准程序作为标准的,虽然可以针对不停的应用可 以动态添加和修改测试标准,但该测试框架仍然是针对VMM本身的一些特性进行评估的。
[0028] 由此,我们可以看出国内外对虚拟化性能研究的重点放在了不同VMM之间本身的 性能的评估和比较,虚拟机与物理机之间的对比则局限于某些特定的应用,因此虚拟机与 物理机之间的性能对比问题有待于进一步研究。同时由于物理机与虚拟机之间是一对多的 关系,不同的应用,特别是CPU密集型,IO密集型,网络密集型的应用在不同的组合条件下 对物理资源利用的侧重点是不同的,如何对不同的虚拟机组合在保证整体应用性能的条件 最大化地提高物理资源利用率具有很强的实际应用价值,而这方面的研究目前尚处于早期 阶段。
[0029] 参考文献:
[0030] [l]http://en. wikipedia. org/wiki/Virtualization
[0031] [2]Makhija VjHerndon BjSmith P, et al. VMmark:A scalable benchmark for virtualized systems[J]. VMware Inc, CA, Tech. Rep. VMware-TR-2006-002,2006.
[0032] [3]Seetharaman SjKrishna Murthy B V S.Test optimization using software virtualization[J]. Software, IEEE, 2006, 23(5):66-69.
[0033] [4]兰雨晴,宋潇豫,马立克,等.系统虚拟化技术性能评测[J].电信科 学,2010, L
[0034] [5]http://wenku. baidu. com/link ? url = -v2Lnd5M00xRqKpGXkkfLdym9IUA_8e 3DzcqxaD_mc
[0035] Z-Es8prg4gvHTS-sUaPLPh3sfjbPEE0WLGsGX52bnE0aQ2fWEeswE8_mR8SjKylj0
[0036] [6]杜春阳,马宏,夏军波.基于通用标准的虚拟化技术性能检测与分析[J].通 信技术,2009, 5:061.
[0037] [7]Martignoni L,Paleari R, Fresi Roglia G, et al. Testing system virtual machines[C]. In Proceedings of the 19th international symposium on Software testing and analysis. ACM, 2010:171-182.
[0038] [8]Standard Performance Evaluation Corporation.Spec Virtualization Committee,April 2008
[0039] [9] Testing System Virtual Machines,ISSTA' 10,July 12 - 16, 2010, Trento,Italy. Copyright 2010ACM 978-1-60558-823-0/10/07
[0040] [10]Yin D,Liang J. A research on storage performance optimization of virtual machine[C]. In the 6th International Conference on.IEEE,2011:547-551.
[0041] [ll]Gaisbauer S,Kirschnick J, Edwards N,et al. Vats: Virtualized-aware automated test service[C]. In the Fifth International Conference on. IEEE,2008:93-102.
[0042] [12]Netto M A SjMenon SjVieira H V, et al. Evaluating load generation in virtualized environments for software performance testing[C]. Parallel and Distributed Processing Workshops and Phd Forum(IPDPSW),20IIIEEE International Symposium on.IEEE,2011:993-1000.
[0043] [13]Che J,Yu Y,Shi C,et al. A synthetical performance evaluation of openvz,xen and kvm[C]. Services Computing Conference (APSCC),2010IEEE Asia-Pacific. IEEE,2010:587-594.
[0044] [14]Almari F NjZavarsky PjRuhl R, et al. Performance Analysis of Oracle Database in Virtual Environments[C]. Advanced Information Networking and Applications Workshops (WAINA), 201226th International Conference on.IEEE,2012:1238-1245.
[0045] [15]Deshane T,Shepherd Z,Matthews J,et al. Quantitative comparison of Xen and KVM[J]. Xen Summit,Boston,MA,USA,2008:1-2.
[0046] [16]Chaudhary V,Cha M,Walters J P,et al.A comparison of virtualization technologies for HPC[C]. Advanced Information Networking and Applications, 2008. AINA 2008.22nd International Conference on.IEEE,2008:861-868.
[0047] [17]Tope I E,Zavarsky P,Ruhl R,et al. Performance Evaluation of Oracle VM Server Virtualization Software 64Bit Linux Environment [C]. Security Measurements and Metrics (Metrisec), 201IThird International Workshop on. IEEE,2011:51-57.
[0048] [ 18] Schlosser DjDuelli MjGoll S. Performance comparison of hardware virtualization platforms[M]. NETWORKING 2011.Springer Berlin Heidelberg,2011:393-405.
[0049] [19]Ye K,Che J,Jiang X,et al. vtestkit:A performance benchmarking framework for virtualization environments[C] ? ChinaGrid Conference (ChinaGrid)j2010Fifth Annual. IEEE, 2010:130-136.
[0050] [20]Kim G HjKim Y GjChung K Y. Towards virtualized and automated software performance test architecture[J]. Multimedia Tools and Applications, 2013:1-15.
[0051] [21] Kim G,Moon H,Song G P,et al. Software performance testing scheme using virtualization technology[C]. Ubiquitous Information Technologies&Applications, 2009. ICUTj 09. Proceedings of the 4th International Conference on.IEEE, 2009:1-5.
[0052] [22]Yuan P,Ding C,Cheng L,et al. VITS Test Suit:A Micro-Benchmark for Evaluating Performance Isolation of Virtualization Systems[C]. e-Business Engineering(ICEBE),2010IEEE 7th International Conference on. IEEE, 2010:132-139.
[0053] [23]Ye K,Che J,Jiang X,et al. vtestkit:A performance benchmarking framework for virtuali zat ion environments[C] ? ChinaGr id Conference (ChinaGrid)j2010Fifth Annual. IEEE, 2010:130-136.


【发明内容】

[0054] 本发明的目的在于克服现有技术的缺点与不足,提供一种虚拟化服务器性能的监 测方法。
[0055] 本发明的另一目的在于提供一种虚拟化服务器性能的监测系统。
[0056] 本发明的目的通过以下的技术方案实现:
[0057] -种虚拟化服务器性能的监测方法,包含以下顺序的步骤:
[0058] SI.虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请 求;
[0059] S2.测试机Client端使用TCP网络协议、UDP网络协议或TCP/UDP混合网络协议 与虚拟机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试 结果;
[0060] S3.主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试 结果;
[0061] S4.主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表 的形式展示出来。
[0062] 步骤S3中,所述的搜集并统计分布式测试测试结果具体为:主控机Manager每隔 3s采集一次客户端测试机的测试结果数据,并将不同的采集数据求平均值,统计出当前的 Socket传输速率。
[0063] 步骤S3中,所述的搜集分布式测试测试结果具体包含以下步骤:
[0064] a、RPC客户端根据目标服务器的IP地址以及portmapper的默认程序端口 111,通 过Socket套接字构造 udp请求,发送请求到目标机器的portmapper应用程序询问rstatd 的程序端口号;
[0065] b、portmapper应用程序接收到请求后,查询端口与应用程序之间的映射表,并把 rstatd监控程序的端口号返回RPC客户端;
[0066] c、RPC客户端获得rstatd程序的端口号后,套接字Socket根据原目标IP地址与 rstatd在端口号重新构造新的Udp请求,发送"请求服务"至rstatd监控程序;
[0067] cURstatd监控程序接收到"请求服务"后,返回当前性能计数器收集的性能数据。
[0068] 步骤S4中,所述的获取虚拟机各项性能指标,并以图表的形式展示出来,具体为:
[0069] a、将测试过程中的性能数据会保存在DataTable对象中,并通过Linux远程性能 监控获取的数据传输实时更新;
[0070] b、当测试结束后,对DataTable中的性能数据进行统计汇总,得到最终性能测试 数据;
[0071] c、然后利用XSL定义数据展现的样式,然后按照一定的规则把测试数据写到XML 文件中;
[0072] d、最后,通过 System. Xml. Xsl 命名空间下的 XslCompiledTransform 类把 XML 格 式的数据文件转化成用户友好的Html页面。
[0073] 本发明的另一目的通过以下的技术方案实现:
[0074] -种虚拟化服务器性能的监测系统,包括两两相互连接的虚拟机Server端、测试 机Client端、主控机Manager,其中虚拟机Server端在Server线程池中启动socket监听, 监听客户端的链接请求;测试机Client端使用TCP、UDP等网络协议与虚拟机server端进 行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;主控机Manager 向客户端测试机发送测试命令,搜集并统计测试结果;向虚拟机发送RPC请求,获取虚拟机 各项性能指标,并以图表的形式展示出来。
[0075] 本发明与现有技术相比,具有如下优点和有益效果:
[0076] 1、本发明研究的虚拟化技术特指平台虚拟化技术下的性能评测,通过使用控制程 序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算 平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。虚拟机 中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称 为主机操作系统(Host OS)。
[0077] 2、本发明重点关注虚拟化环境下针对网络性能评测的开发与实现,设计了在物理 机和虚拟机环境下通用的网络性能测试框架。此软件具有如下特点:支持多网络传输协议, 多线程分布式测试,系统性能指标远程实时监控。具体包括:
[0078] (1)统计基于VMM的网络传输速率
[0079] 不同的应用所使用的网络传输协议不同,因此提供了针对不同的传输协议下的虚 拟机网络性能检测机制,目前支持TCP、UDP和TCP/UDP混合的三种网络传输方式。
[0080] (2)多线程分布式测试
[0081] 将测试任务部署到不同的分布式系统中,由Host主机统一管理。每一个测试任务 支持多线程并行操作,实时统计虚拟机网络传输性能,并以图表的方式进行展示。
[0082] (3)系统远程性能监控
[0083] 在测试任务执行过程中,主控机可以对被测试机各项性能指标进行实时系统监 控,用以辅助评价虚拟机网络性能。

【专利附图】

【附图说明】
[0084] 图1为RPC客户端远程系统调用获取Linux性能参数的流程图;
[0085] 图2为报表数据展现处理过程的流程图;
[0086] 图3为搜集分布式测试测试数据的示意图;
[0087] 图4为本发明所述的一种虚拟化服务器性能的监测系统的结构示意图。

【具体实施方式】
[0088] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。
[0089] 一种虚拟化服务器性能的监测方法,包含以下顺序的步骤:
[0090] SI.虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请 求;
[0091] S2.测试机Client端使用TCP网络协议、UDP网络协议或TCP/UDP混合网络协议 与虚拟机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试 结果;
[0092] S3.主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试 结果;所述的搜集并统计分布式测试测试结果具体为:主控机Manager每隔3s采集一次客 户端测试机的测试结果数据,并将不同的采集数据求平均值,统计出当前的Socket传输速 率;
[0093] 如图3,所述的搜集分布式测试测试结果具体包含以下步骤:
[0094] a、RPC客户端根据目标服务器的IP地址以及portmapper的默认程序端口 111,通 过Socket套接字构造 udp请求,发送请求到目标机器的portmapper应用程序询问rstatd 的程序端口号;
[0095] b、portmapper应用程序接收到请求后,查询端口与应用程序之间的映射表,并把 rstatd监控程序的端口号返回RPC客户端;
[0096] c、RPC客户端获得rstatd程序的端口号后,套接字Socket根据原目标IP地址与 rstatd在端口号重新构造新的Udp请求,发送"请求服务"至rstatd监控程序;
[0097] cURstatd监控程序接收到"请求服务"后,返回当前性能计数器收集的性能数据;
[0098] 图3中的(1)、(2)、(3)、(4)分别对应上面的分步骤a、b、c、d ;
[0099] S4.主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表 的形式展示出来;
[0100] 如图2,所述的获取虚拟机各项性能指标,并以图表的形式展示出来,具体为:
[0101] a、将测试过程中的性能数据会保存在DataTable对象中,并通过Linux远程性能 监控获取的数据传输实时更新;
[0102] b、当测试结束后,对DataTable中的性能数据进行统计汇总,得到最终性能测试 数据;
[0103] c、然后利用XSL定义数据展现的样式,然后按照一定的规则把测试数据写到XML 文件中;
[0104] d、最后,通过 System. Xml. Xsl 命名空间下的 XslCompiledTransform 类把 XML 格 式的数据文件转化成用户友好的Html页面。
[0105] 如图4,一种虚拟化服务器性能的监测系统,包括两两相互连接的虚拟机Server 端、测试机Client端、主控机Manager,其中虚拟机Server端在Server线程池中启动 socket监听,监听客户端的链接请求;测试机Client端使用TCP、UDP等网络协议与虚拟机 server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;主控 机Manager向客户端测试机发送测试命令,搜集并统计测试结果;向虚拟机发送RPC请求, 获取虚拟机各项性能指标,并以图表的形式展示出来。
[0106] 本发明的监测系统通过主控制机管理分布式测试机,向客户端测试机分配测试任 务;客户端通过局域网与虚拟机建立连接,执行测试任务,并向主控机返回实时测试结果。 主控制机向vmm虚拟机发送RPC请求,获取虚拟机各项性能指标。下面结合图4对该系统 的各个组成部分进行详细说明:
[0107] 虚拟机Server端
[0108] 在Server线程池中启动socket监听,监听客户端的链接请求;启动操作系统 rstat端口监控程序(一般Iinux系统默认安装,如果没有安装rstat端口监控工具,首先, 需要从官网上下载rstat的Tar压缩文件。在解压缩tar文件之后,就可以编译、配置和安 装rstat监控程序)。通过Linux远程系统监控,针对网络性能,主要监控如下网络性能指 标,如表1所示:
[0109] 表 1
[0110]

【权利要求】
1. 一种虚拟化服务器性能的监测方法,其特征在于,包含以下顺序的步骤:
51. 虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请求;
52. 测试机Client端使用TCP网络协议、UDP网络协议或TCP/UDP混合网络协议与虚拟 机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;
53. 主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试结果;
54. 主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表的形 式展不出来。
2. 根据权利要求1所述的虚拟化服务器性能的监测方法,其特征在于,步骤S3中,所述 的搜集并统计分布式测试测试结果具体为:主控机Manager每隔3s采集一次客户端测试机 的测试结果数据,并将不同的采集数据求平均值,统计出当前的Socket传输速率。
3. 根据权利要求2所述的虚拟化服务器性能的监测方法,其特征在于,步骤S3中,所述 的搜集分布式测试测试结果具体包含以下步骤: a、 RPC客户端根据目标服务器的IP地址以及portmapper的默认程序端口 111,通过 Socket套接字构造udp请求,发送请求到目标机器的portmapper应用程序询问rstatd的 程序端口号; b、 portmapper应用程序接收到请求后,查询端口与应用程序之间的映射表,并把 rstatd监控程序的端口号返回RPC客户端; c、 RPC客户端获得rstatd程序的端口号后,套接字Socket根据原目标IP地址与 rstatd在端口号重新构造新的Udp请求,发送"请求服务"至rstatd监控程序; d、 Rstatd监控程序接收到"请求服务"后,返回当前性能计数器收集的性能数据。
4. 根据权利要求1所述的虚拟化服务器性能的监测方法,其特征在于,步骤S4中,所述 的获取虚拟机各项性能指标,并以图表的形式展示出来,具体为: a、 将测试过程中的性能数据会保存在DataTable对象中,并通过Linux远程性能监控 获取的数据传输实时更新; b、 当测试结束后,对DataTable中的性能数据进行统计汇总,得到最终性能测试数据; c、 然后利用XSL定义数据展现的样式,然后按照一定的规则把测试数据写到XML文件 中; d、 最后,通过System. Xml. Xsl命名空间下的XslCompiledTransform类把XML格式的 数据文件转化成用户友好的Html页面。
5. -种虚拟化服务器性能的监测系统,其特征在于:包括两两相互连接的虚拟机 Server端、测试机Client端、主控机Manager,其中虚拟机Server端在Server线程池中启 动socket监听,监听客户端的链接请求;测试机Client端使用TCP、UDP等网络协议与虚 拟机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果; 主控机Manager向客户端测试机发送测试命令,搜集并统计测试结果;向虚拟机发送RPC请 求,获取虚拟机各项性能指标,并以图表的形式展示出来。
【文档编号】G06F9/455GK104407910SQ201410598698
【公开日】2015年3月11日 申请日期:2014年10月29日 优先权日:2014年10月29日
【发明者】陆璐 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1