本发明实施例涉及数据库技术,特别涉及一种评估数据库服务性能的方法、装置及计算机可读存储介质。
背景技术:
对数据库进行性能评估,是为了对比不同数据库之间的硬件配件和软件环境的差异如何影响数据库的整体性能,以便调整该数据库的服务器配置,消除短板,节省成本,同时也对数据库的设计和优化有指导作用。
目前,常规的数据库服务性能评估方法有两种。一种是统计数据库的每秒操作数(即ops/second值),并据此对数据库服务性能进行评估,每秒操作数的数值越大,数据库对外提供的服务的能力越强。根据每秒操作数确定数据库服务性能的方法是一种外部测量方式。另一种是通过数据库的服务器的每个性能参数评估数据库服务性能的方法,该方式能够发现数据库的短板在哪里。
然而,发明人发现现有技术中至少存在如下问题:
第一种方法对数据库服务性能最大发挥来说,较为笼统。因为每秒操作数受到内外因多种参数共同作用,比如网络因素,客户端的网络质量会影响生产环境上每秒操作数的统计结果。具体的,网络质量差的客户端越多,统计得到的每秒操作数越小。数据库内部的中央处理器(centralprocessingunit,简称cpu)速度和高速缓存容量、内存速度和容量、硬盘速度和容量等都会影响吞吐量。
第二种方法虽然能发现数据库的短板在哪里,但不能很好比较出不同数据库之间的性能高低。比如在使用cpu占用率这一参数评估数据库服务性能时,当两台数据库的每秒操作数已经见顶并相等时,cpu剩得多的数据库的服务能力未必更高,只能说它的cpu还有更多潜力。比如,将数据库的2.7ghz的cpu换成3.5ghz的cpu后,该数据库对外服务时的每秒操作数很可能是一样的,但把该数据库的磁盘换成高速的固态硬盘,数据库服务的性能则可能有所提升。
数据库服务的性能实际上取决于它的短板,但在不同的软件环境和状态下,短板不一定一直是哪个硬件。比如,大量客户端与数据库连接时,涉及到鉴权,而安全的鉴权算法往往很费时,此时,cpu速度和内存速度可能成为数据库的短板,而在客户已经成功连接数据库,要大量写数据时,硬盘的输入/输出(input/output,简称io)大量消耗,成为短板。
综上所述,cpu占用率、内存占用率、每秒读写操作数((input/outputoperationspersecond,简称iops)等数值都不能客观反映数据库服务的性能,只能笼统地描述服务器的服务状态和可能根本用不上的剩余能力。故亟需一种更为准确的评估数据库服务性能的方法。
技术实现要素:
本发明实施方式的目的在于提供一种评估数据库服务性能的方法、装置及计算机可读存储介质,能够更准确地评估数据库服务的性能,评估结果为数据库的结构设计优化和数据库的服务器硬件选型提供了依据。
为解决上述技术问题,本发明的实施方式提供了一种评估数据库服务性能的方法,包括以下步骤:
确定数据库测试过程中的锁的信息,其中,锁的信息包括:锁的平均获取时间和/或锁的平均占用时间;根据锁的信息,评估数据库服务的性能。
本发明的实施方式还提供了一种评估数据库服务性能的装置,包括:确定模块和评估模块;该确定模块用于确定数据库测试过程中的锁的信息,其中,锁的信息包括:锁的平均获取时间和/或锁的平均占用时间;该评估模块用于根据锁的信息,评估数据库服务的性能。
本发明的实施方式还提供了一种评估数据库服务性能的装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施方式提及的评估数据库服务性能的方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述实施方式提及的评估数据库服务性能的方法。
本发明实施方式相对于现有技术而言,由于数据库服务性能的优劣会对锁的获取时间和占用时间产生影响,数据库的锁的平均获取时间和/或占用时间能够反应数据库服务的性能。数据库的锁仅涉及到数据库的业务的服务的内部进程,网络质量等外部因素不会影响锁的获取时间或占用时间,使用锁的信息能够更准确地评估数据库服务的整体性能。并且,准确的评估结果为数据库的结构设计优化和数据库的服务器硬件选型提供了依据。
另外,锁为全部锁;确定数据库测试过程中的锁的信息,具体包括:统计测试过程中预设时间内的锁的总数;以及统计预设时间内的锁的总获取时间,根据锁的总数和锁的总获取时间,确定锁的平均获取时间;和/或,统计预设时间内的锁的总占用时间,根据锁的总数和锁的总占用时间,确定锁的平均占用时间。根据全部锁的平均获取时间和/或平均占用时间评估数据库服务的性能,为数据库的服务器硬件选型提供了依据。
另外,锁为指定级别的锁,指定级别的锁是指从各级别的锁中选择的至少一种级别的锁;确定数据库测试过程中的锁的信息,具体包括:统计测试过程中预设时间内的指定级别的锁的总数;以及统计预设时间内的指定级别的锁的总获取时间,根据指定级别的锁的总数和指定级别的锁的总获取时间,确定指定级别的锁的平均获取时间;和/或,统计预设时间内的指定级别的锁的总占用时间,根据指定级别的锁的总数和指定级别的锁的总占用时间,确定指定级别的锁的平均占用时间。该方式中,根据指定级别的锁的平均获取时间和/或平均占用时间评估数据库服务的性能,为数据库的结构设计优化提供了依据。
另外,预设时间的起始时刻确定方法包括:根据数据库的业务的每秒操作数以及参考值确定,其中,参考值根据统计得到的数据库的业务的最大每秒操作数确定,参考值大于最大每秒操作数的1/2,小于或等于最大每秒操作数;预设时间的时长根据数据库的业务的访问高峰期持续时长确定,预设时间的时长与访问高峰期持续时长接近。该方式中,数据库处于业务的访问高峰期时,数据库处于高负荷状态,所有资源均被调动,该状态下的锁的平均获取时间和/或平均占用时间更能体现该数据库服务整体性能的优劣和/或结构设计上的瓶颈。
另外,在确定数据库测试过程中的锁的信息之前,评估数据库服务性能的方法还包括:确定数据库的业务的最大每秒操作数和访问高峰期持续时长。
另外,根据锁的信息,评估数据库服务的性能,具体包括:确定锁的平均获取时间与第一预设值的差值,根据所得的差值评估数据库服务的性能,其中,第一预设值为与该数据库比较的另一数据库的锁的平均获取时间,或,第一预设值为评估数据库服务的并发性能优劣的临界值;和/或,确定锁的平均占用时间与第二预设值的差值,根据所得的差值评估数据库服务的性能,其中,第二预设值为与该数据库比较的另一数据库的锁的平均占用时间,或,第一预设值为评估数据库服务的整体性能优劣的临界值。
另外,锁的信息包括指定级别的锁的平均获取时间和/或指定级别的锁的平均占用时间;根据锁的信息,评估数据库服务的性能,具体包括:确定指定级别的锁的平均获取时间和第三预设值的差值,根据所得的每个差值评估数据库服务的性能,其中,第三预设值为该数据库的全部锁的平均获取时间;和/或,确定指定级别的锁的平均占用时间和第四预设值的差值,根据所得的每个差值评估数据库服务的性能,其中,第四预设值为该数据库的全部锁的平均占用时间。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式的评估数据库服务性能的方法的流程图;
图2是根据本发明第二实施方式的评估数据库服务性能的方法的流程图;
图3是根据本发明第三实施方式的评估数据库服务性能的方法的流程图;
图4是根据本发明第四实施方式的评估数据库服务性能的装置的结构示意图;
图5是根据本发明第五实施方式的评估数据库服务性能的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种评估数据库服务性能的方法,应用于评估数据库服务性能的装置,如与该数据库通信连接的终端或其他设备,或者直接应用于作为数据库载体的服务器。具体流程如图1所示,该评估数据库服务性能的方法包括:
步骤101:确定数据库测试过程中的锁的信息。
具体地说,锁的信息包括锁的平均获取时间和/或锁的平均占用时间。在修改和/或读取数据库中的数据时,数据库对该数据加上锁,以避免多线程并发引起访问冲突的问题。数据库对数据加锁的过程具体分为请求锁、锁定、操作和解锁四个步骤。其中,请求锁到锁定的时长为锁的获取时间,锁定后到解锁的时长为锁的占用时间。根据测试过程中锁的获取时间和/或锁的占用时间,可以确定测试过程中该数据库的锁的平均获取时间和/或锁的平均占用时间。
需要说明的是,实际应用中,锁的信息还可以包括锁的读写属性、锁的级别等其他相关信息,评估数据库服务性能的装置可以根据锁的读写属性或锁的级别分别统计不同类型的锁的信息。
步骤102:根据锁的信息,评估数据库服务的性能。
具体地说,评估数据库服务性能的装置可以根据锁的平均获取时间评估数据库的并发性,根据锁的平均占用时间评估数据库服务的内在的整体性能。本领域技术人员可以理解,实际应用中,可以根据需要选择用于评估数据库服务性能的锁的信息。
值得一提的是,由于数据库的锁仅与数据库的业务的服务的内部进程有关,可以排除网络等其他外部因素的影响,使得评估结果更为准确。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的评估数据库服务性能的方法,由于数据库服务性能的优劣会对锁的获取时间和占用时间产生影响,数据库的锁的平均获取时间和/或占用时间能够反应数据库服务的性能。数据库的锁仅涉及到数据库的业务的服务的内部进程,网络质量等外部因素不会影响锁的获取时间或占用时间,使用锁的信息能够更准确地评估数据库服务的性能。并且,准确的评估结果为数据库的结构设计优化和数据库的服务器硬件选型提供了依据。
本发明的第二实施方式涉及一种评估数据库服务性能的方法。本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:在步骤101之前增加了其他相关步骤,并具体说明了步骤101和步骤102。
需要说明的是,本实施方式中以锁为全部锁为例说明该评估数据库服务性能的方法。其中,锁的平均获取时间为全部锁的平均获取时间,锁的平均占用时间为全部锁的平均占用时间。
具体的说,如图2所示,在本实施方式中,该评估数据库服务性能的方法包括以下步骤:
步骤201:确定数据库的业务的最大每秒操作数和访问高峰期持续时长。
具体地说,评估数据库服务性能的装置跟踪需要评估的数据库一定时间,跟踪的时间长度可以根据需要设置为一天或一个月等。跟踪需要评估的数据库时,根据数据库的业务的特点预测该数据库可能出现访问高峰期的时间段,例如,当该数据库的业务的特点表征该数据库的业务为娱乐类时,确定该数据库的可能的访问高峰期的时间段为21点至22点。评估数据库服务性能的装置记录数据库在该时间段的每秒操作数,将该时间段中的最大每秒操作数作为该数据库的业务的最大每秒操作数,并根据该时间段的每秒操作数对应的波形图的平缓程度或其他形式的数据,确定访问高峰期持续时长。例如,游戏业务的波形图可能很平滑但高低曲线很明显,看新闻业务的波形图可能锯齿很多,高峰和低峰之间不是很明显。这种情况下,游戏业务的访问高峰期持续时长可以确定为40分钟,看新闻业务的访问高峰期持续时长可以确定为2小时。
步骤202:根据数据库的业务的最大每秒操作数和访问高峰期持续时长确定预设时间。
步骤203:统计测试过程中预设时间内的锁的总数。
步骤204:统计预设时间内的锁的总获取时间,根据锁的总数和锁的总获取时间,确定锁的平均获取时间。
具体的说,统计的锁为预设时间内的该数据库的全部锁,即所有级别的锁。其中,所有级别的锁包括全局级锁、库级锁、表级锁和行级锁。预设时间的起始时刻确定方法包括:根据数据库的业务的每秒操作数以及参考值确定,其中,参考值根据统计得到的数据库的业务的最大每秒操作数确定,参考值大于最大每秒操作数的1/2,小于或等于最大每秒操作数;预设时间的时长根据数据库的业务的访问高峰期持续时长确定,预设时间的时长与访问高峰期持续时长接近。参考值可以是该数据库的业务的最大每秒操作数,也可以是该数据库的业务的最大每秒操作数与百分数的乘积,例如,参考值的取值范围可以是该数据库业务的最大每秒操作数的60%至100%,如参考值等于该数据库业务的最大每秒操作数的80%。本实施方式不限制参考值的具体取值。预设时间的时长可以是该数据库的业务的访问高峰期持续时长,也可以是在数据库的业务的访问高峰期持续时长的基础上适当减小得到的数值。例如,预设时间的时长等于访问高峰期持续时长的95%,或预设时间的时长等于30分钟至40分钟。
需要说明的是,预设时间可以是根据该数据库的业务的最大每秒操作数和访问高峰期持续时长确定的该数据库的业务的访问高峰期,还可以是测试过程中的任意时间。实际应用中,本领域技术人员可以选择不执行步骤201和步骤202,改为执行步骤:确定预设时间,之后执行步骤203至步骤205。其中,预设时间可以是本领域技术人员根据需要设置的任意时间。
以下结合实际场景说明确定锁的平均获取时间和锁的平均占用时间的方法。评估数据库服务性能的装置确定数据库的业务的最大每秒操作数为2000,访问高峰期持续时长为40分钟,根据数据库的业务的最大每秒操作数2000确定参考值为1900,进而确定预设时间的起始时刻为该数据库的每秒操作数等于参考值的时刻,预设时间的时长等于该数据库的业务的访问高峰期持续时长。故评估数据库服务性能的装置在该数据库的每秒操作数达到1900时,记录此刻的锁的总数作为预设时间的起始时刻的锁的总数,记录此刻的锁的总获取时间作为预设时间的起始时刻的锁的总获取时间。经过40分钟后,评估数据库服务性能的装置记录此刻的锁的总数作为预设时间的结束时刻的锁的总数,记录此刻的锁的总获取时间作为预设时间的结束时刻的锁的总获取时间。将预设时间的结束时刻的锁的总数与预设时间的起始时刻的锁的总数的差值作为预设时间内的锁的总数,将预设时间的结束时刻的锁的总获取时间与预设时间的起始时刻的锁的总获取时间的差值作为预设时间内的锁的总获取时间。将预设时间内的锁的总获取时间与锁的总数的商作为锁的平均获取时间。
值得一提的是,数据库处于业务的访问高峰期时,数据库处于高负荷状态,所有资源均被调动,该状态下的锁的平均获取时间和/或平均占用时间更能体现该数据库服务整体性能的优劣和/或结构设计上的瓶颈。
需要说明的是,实际应用中,评估数据库服务性能的装置可以周期性地统计每次的预设时间内的锁的总数和锁的总获取时间,将每次的预设时间内的锁的总数的和作为锁的总数,将每次的锁的总获取时间的和作为锁的总获取时间,将锁的总获取时间与锁的总数的商作为锁的平均获取时间。
步骤205:确定锁的平均获取时间与第一预设值的差值,根据所得的差值评估数据库服务的性能。
具体地说,第一预设值为与该数据库比较的另一数据库的锁的平均获取时间,或,第一预设值为评估数据库服务的并发性能优劣的临界值。
以下对第一预设值的取值方式,以及采用该取值方式时,评估该数据库服务的性能的方法进行举例说明。
例如,第一预设值是与该数据库a比较的另一数据库b的锁的平均获取时间,其中,数据库b的业务的特点与数据库a的业务的特点相同或相近。评估数据库服务性能的装置确定数据库a的平均获取时间与数据库b的平均获取时间的差值,根据所得的差值判断数据库a的平均获取时间是否小于与数据库b的平均获取时间,若确定数据库a的平均获取时间更小,则认为数据库a的并发性优于数据库b的并发性。
值得一提的是,根据该评估结果可以确定多种数据库的服务器硬件选型中最优的数据库的服务器硬件选型。
再如,第一预设值是评估数据库服务的并发性能优劣的临界值。该临界值为评估数据库服务性能的装置基于自身或云端的大数据确定的数值。当数据库的平均获取时间小于该数值时,确定该数据库的并发性较优。
需要说明的是,本实施方式中,通过锁的平均获取时间与第一预设值的差值判断两者的大小,实际应用中,也可以通过其他比较方式判断。
另一具体实现中,步骤204可以替换为步骤:统计预设时间内的锁的总占用时间,根据锁的总数和锁的总占用时间,确定锁的平均占用时间。步骤205可以替换为步骤:确定锁的平均占用时间与第二预设值的差值,根据所得的差值评估数据库服务的性能。其中,第二预设值为与该数据库比较的另一数据库的锁的平均占用时间,或,第一预设值为评估数据库服务的整体性能优劣的临界值。该具体实现中,评估数据库服务性能的装置可以根据该数据库的平均占用时间评估该数据库服务的整体性能。
又一具体实现中,步骤204还可以替换为步骤:统计预设时间内的锁的总获取时间,根据锁的总数和锁的总获取时间,确定锁的平均获取时间;以及统计预设时间内的锁的总占用时间,根据锁的总数和锁的总占用时间,确定锁的平均占用时间,步骤205可以替换为步骤:确定锁的平均获取时间与第一预设值的差值,根据所得的差值评估数据库服务的性能;确定锁的平均占用时间与第二预设值的差值,根据所得的差值评估数据库服务的性能。该具体实现中,评估数据库服务性能的装置根据该数据库的平均获取时间评估数据库的并发性,根据该数据库的平均占用时间评估数据库服务的整体性能。
需要说明的是,本领域技术人员可以理解,实际应用中,可以根据该数据库的业务类型或其他信息选择上述具体实现中提及的任一种评估数据库服务性能的方法。
与现有技术相比,本实施方式中提供的评估数据库服务性能的方法,由于数据库服务性能的优劣会对锁的获取时间和占用时间产生影响,数据库的锁的平均获取时间和/或占用时间能够反应数据库服务的性能。数据库的锁仅涉及到数据库的业务的服务的内部进程,网络质量等外部因素不会影响锁的获取时间或占用时间,使用锁的信息能够更准确地评估数据库服务的性能。并且,准确的评估结果为数据库的服务器硬件选型提供了依据。除此之外,数据库处于业务的访问高峰期时,数据库处于高负荷状态,所有资源均被调动,该状态下的锁的平均获取时间和/或平均占用时间更能体现该数据库服务整体性能的优劣和/或结构设计上的瓶颈。
本发明第三实施方式涉及一种评估数据库服务性能的方法,本实施方式与第二实施方式大致相同,主要区别在于:第二实施方式中,锁为全部锁,而本实施方式中,锁为指定级别的锁,锁的信息包括指定级别的锁的平均获取时间和/或指定级别的锁的平均占用时间。
具体地说,如图3所示,在本实施方式中,该评估数据库服务性能的方法包含步骤301至步骤304,其中,步骤301和步骤302与第二实施方式中的步骤201和步骤202大致相同,此处不再赘述,下面主要介绍不同之处。
执行步骤301和步骤302。
步骤303:统计测试过程中预设时间内的指定级别的锁的总数。
步骤304:统计预设时间内的指定级别的锁的总获取时间,根据指定级别的锁的总数和指定级别的锁的总获取时间,确定指定级别的锁的平均获取时间。
具体地说,指定级别的锁是指从各级别的锁中选择的至少一种级别的锁,可以包括全局级锁、库级锁、表级锁和行级锁中的任意一种或任意组合。其中,指定级别的锁的总数、锁的总获取时间的统计方法,以及指定级别的锁的平均获取时间的确定方法可以参照第二实施方式中关于全部锁的总数、全部锁的总获取时间的统计方法,以及全部锁的平均获取时间的确定方法的描述,此处不再赘述。
具体实现中,指定级别的锁包括全局级锁、库级锁、表级锁和行级锁时,评估数据库服务性能的装置分别统计每个级别的锁的总数和每个级别的锁的总获取时间,从而确定每个级别的锁的平均获取时间。
步骤305:确定指定级别的锁的平均获取时间和第三预设值的差值,根据所得的每个差值评估数据库服务的性能。
具体地说,第三预设值可以是该数据库的全部锁的平均获取时间,也可以是评估数据库服务性能的装置自身或云端的大数据确定的数值,该数值为评估数据库的该级别的结构设计合理与不合理的获取时间的临界值。该数据库的全部锁的平均获取时间可以通过执行第二实施方式中描述的确定全部锁的平均获取时间的方式获得。
值得一提的是,根据评估数据库服务的性能的结果寻找优化点,为优化数据库的结构设计和使用方法提供依据。
以下结合实际应用场景,对锁为指定级别的锁时,评估数据库服务性能的装置采用该评估数据库服务性能的方法评估数据库服务的性能的过程进行举例说明。
首先,评估数据库服务性能的装置通过执行步骤301,确定数据库的业务的最大每秒操作数和访问高峰期持续时长,具体确定过程参见第二实施方式中关于步骤201的描述。然后,评估数据库服务性能的装置根据确定的该数据库的最大每秒操作数和业务的访问高峰期持续时长,确定预设时间,并分别统计预设时间内的每个级别的锁的总数和每个级别的锁的总获取时间。根据每个级别的锁的总数和每个级别的锁的总获取时间,确定每个级别的锁的平均获取时间。最后,评估数据库服务性能的装置将每个级别的锁的平均获取时间与该数据库的全部锁的平均获取时间比较,若发现某个或多个级别的锁的平均获取时间与该数据库的全部锁的平均获取时间差值大于一定范围时,则认为该数据库中该个或多个级别的锁对应的结构设计(即程序)的并发性差,根据该评估结果,可以寻找到数据库结构设计的优化点,优化数据库的结构设计和使用方法。例如,该数据库的表级锁的平均获取时间是该数据库的全部锁的两倍,则评估该数据库的结构设计上的短板在于数据库的表级锁,可以通过修改该数据库的表级写操作语句等方式以改善该数据库。又如,在进行数据库结构设计时,要判断两个表是否可以放在同一个库。将两个表放在同一个库,如果数据库的库级锁的平均获取时间大于第三预设值,则说明应该将这两个表放在不同的库中,如果数据库的库级锁的平均获取时间小于第三预设值,则认为这两个表可以放在同一个库。又如,评估数据库服务性能时,有个操作频繁在同一个库中创建和删除表,库级锁的平均获取时间会变大,该数据库的结构优化方法为:找到该库中创建和删除表的语句,改变数据库的结构设计,减少频繁在该库创建和删除表的操作。
可选的,在将每个级别的锁的平均获取时间与该数据库的全部锁的平均获取时间比较前,先求每个级别的锁的平均获取时间的方差或标准差等表征数据波动状态的参数的数值,如果该参数的数值小于波动预设值,则认为该数据库的结构设计较合理,若该参数的数值大于波动预设值,则认为该数据库的结构设计存在瓶颈,可进行优化。其中,波动预设值可以根据数据库的业务对数据库服务的性能要求设置。
另一具体实现中,步骤304可以替换为步骤:统计预设时间内的指定级别的锁的总占用时间,根据指定级别的锁的总数和指定级别的锁的总占用时间,确定指定级别的锁的平均占用时间。步骤305可以替换为步骤:确定指定级别的锁的平均占用时间与第四预设值的差值,根据所得的差值评估数据库服务的性能。其中,第四预设值可以是该数据库的全部锁的平均占用时间,也可以是评估数据库服务性能的装置自身或云端的大数据确定的数值,该数值为评估数据库的该级别的结构设计合理与不合理的占用时间的临界值。该具体实现中,评估数据库服务性能的装置可以根据该数据库的指定级别的锁的平均占用时间评估该数据库的指定级别的锁对应的结构设计的性能。
又一具体实现中,步骤304还可以替换为步骤:统计预设时间内的指定级别的锁的总获取时间,根据指定级别的锁的总数和指定级别的锁的总获取时间,确定指定级别的锁的平均获取时间;以及统计预设时间内的指定级别的锁的总占用时间,根据指定级别的锁的总数和指定级别的锁的总占用时间,确定指定级别的锁的平均占用时间,步骤305可以替换为步骤:确定指定级别的锁的平均获取时间与第三预设值的差值,根据所得的差值评估数据库服务的性能;确定指定级别的锁的平均占用时间与第四预设值的差值,根据所得的差值评估数据库服务的性能。该具体实现中,评估数据库服务性能的装置根据数据库的指定级别的锁的平均获取时间评估数据库的指定级别的锁对应的软件的并发性,根据数据库的指定级别的锁的平均占用时间评估数据库的指定级别的锁对应的结构的设计是否合理。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的评估数据库服务性能的方法,由于数据库服务性能的优劣会对锁的获取时间和占用时间产生影响,数据库的锁的平均获取时间和/或占用时间能够反应数据库服务的性能。数据库的锁仅涉及到数据库的业务的服务的内部进程,网络质量等外部因素不会影响锁的获取时间或占用时间,使用锁的信息能够更准确地评估数据库服务的性能。并且,能够根据准确的评估结果优化数据库的结构设计和使用方法。
本发明的第四实施方式涉及一种评估数据库服务性能的装置,如图4所示,包括:确定模块401和评估模块402。该确定模块401用于确定数据库测试过程中的锁的信息,其中,锁的信息包括:锁的平均获取时间和/或锁的平均占用时间。评估模块402用于根据锁的信息,评估数据库服务的性能。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种评估数据库服务性能的装置,如图5所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述实施方式提及的评估数据库服务性能的方法。
该评估数据库服务性能的装置包括:一个或多个处理器501以及存储器502,图5中以一个处理器501为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施方式中锁的信息就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述评估数据库服务性能的方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施方式中的评估数据库服务性能的方法。
上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例提及的评估数据库服务性能的方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。