论文部分内容阅读
从20世纪后期到本世纪初,由于信息技术的迅猛发展及其产业规模的不断扩大,云计算成为继自来水、电力、天然气、电信之后的第五个公共基础设施服务。云计算是利用网络将各种资源(包括硬件资源和软件资源——这些资源可能分布在本地或者异地)整合在一起,从而构建成一个虚拟的计算资源池,通过统一管理和调度为用户按需提供服务。云计算是一种高效低成本的计算模式,这种模式不仅给云提供商带来显著的经济效益,而且也给云用户带来巨大的便捷。一方面,云提供商通过集中采购和管理大量计算机集群系统,并且对这些集群进行优化设计以便提高系统资源利用率,从而大幅提高云提供商的规模经济效益。另一方面,云计算能够供给云用户简单且灵活的计算服务,使用户免于购买、安装、管理和维护计算机软件和硬件设备,加速应用部署,降低用户配置和管理资源的成本。在云计算环境下,数据库系统作为虚拟应用被部署在虚拟机上运行,云用户通过虚拟机使用云资源。对于云服务来说,数据库系统性能的好坏是云服务供需双方共同关注的焦点。一方面,云提供商致力于通过使用尽可能少的资源来满足用户对应用的性能需求,最大化资源利用率,提高企业规模经济效益。另一方面,云用户渴望在使用一定资源的条件下,尽可能优化他们应用的性能。例如,使应用系统的响应时间最小化和吞吐量最大化。因此,在配置运行数据库系统应用的虚拟机时,如何做出恰当的资源配置决策是一个关键问题。针对上述问题,预先推测和考察数据库系统的性能是解决这个问题的有效方法。本文研究使用分层排队网络建模技术,建立云计算环境下数据库系统的性能模型,并且运用分层的方法求解该性能模型,通过实验验证该性能模型的有效性,从而指导在给定数据库系统负载条件下为虚拟机合理地分配资源。主要内容如下:研究云计算、云计算平台Hadoop、性能评价技术和性能监测方法;探究建立云计算环境下数据库系统的分层排队网络模型,探索数据库系统负载及其描述方法,确定数据库系统负载嵌套请求调用的层次关系,讨论分层排队网络模型的输入参数和输出参数以及获取输入参数方法;研究封闭型和开放型排队网络模型的求解方法以及分层排队网络模型的求解方法;研究使用分层的方法求解本文提出的性能模型,预测系统平均响应时间;研究运用Linux、 Hadoop、 Hive、 HBase、 ZookeepeR、Ganglia搭建实验测试环境。在云计算平台Hadoop下,使用Hive对数据库系统进行查询操作,分别测量在单用户和多用户提交负载请求条件下系统平均响应时间。分析比较模型预测的系统平均响应时间与实验测量的系统平均响应时间之间的误差。如果两者的误差小于允许的精度范围,则本文提出的性能模型是有效的;反之,修改性能模型,直到两者的误差小于允许的精度范围。