CN111061621B - 一种验证程序性能的方法、装置、设备及存储介质 - Google Patents

一种验证程序性能的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111061621B
CN111061621B CN201911398207.8A CN201911398207A CN111061621B CN 111061621 B CN111061621 B CN 111061621B CN 201911398207 A CN201911398207 A CN 201911398207A CN 111061621 B CN111061621 B CN 111061621B
Authority
CN
China
Prior art keywords
program
file
performance
realizing
time length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911398207.8A
Other languages
English (en)
Other versions
CN111061621A (zh
Inventor
郭美思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911398207.8A priority Critical patent/CN111061621B/zh
Publication of CN111061621A publication Critical patent/CN111061621A/zh
Application granted granted Critical
Publication of CN111061621B publication Critical patent/CN111061621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种验证程序性能的方法、装置、设备及存储介质,该方法包括:获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;如果监控到实现相应文件操作所用的时长达到预设时长,则获取在所述预设时长内实现相应文件操作所执行的所述指令集中包含的指令的总数量,并确定该总数量与所述预设时长的比值为所述程序的性能评分;如果所述性能评分小于预先设定的分数阈值,则确定所述程序需要实现相应的优化,否则,则确定所述程序无需实现优化。从而能够自动有效的实现程序的性能验证。

Description

一种验证程序性能的方法、装置、设备及存储介质
技术领域
本发明涉及计算机软件技术领域,更具体地说,涉及一种验证程序性能的方法、装置、设备及存储介质。
背景技术
随着计算机技术的高速发展,硬软件的不断创新,各种软件产品在市面上被人使用,然而软件产品的性能是非常重要的,每个人都希望所使用的软件产品快速高效,但是目前并没有一种能够有效实现软件产品的验证的技术方案。
发明内容
本发明的目的是提供一种验证程序性能的方法、装置、设备及存储介质,能够自动有效的实现程序的性能验证。
为了实现上述目的,本发明提供如下技术方案:
一种验证程序性能的方法,包括:
获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;
如果监控到实现相应文件操作所用的时长达到预设时长,则获取在所述预设时长内实现相应文件操作所执行的所述指令集中包含的指令的总数量,并确定该总数量与所述预设时长的比值为所述程序的性能评分;
如果所述性能评分小于预先设定的分数阈值,则确定所述程序需要实现相应的优化,否则,则确定所述程序无需实现优化。
优选的,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,包括:
在设置的预设数量个CPU上,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作。
优选的,确定所述程序需要实现相应的优化之后,还包括:
输出指示对所述程序进行相应优化的提示信息,所述提示信息包括所述预设时长、在所述预设时长内执行的指令的总数量及所述性能评分。
优选的,还包括:
接收外界输入的设置指令,并基于所述设置指令实现所述预设时长、所述分数阈值及所述预设数量的设置。
一种验证程序性能的装置,包括:
操作模块,用于:获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;
评分模块,用于:如果监控到实现相应文件操作所用的时长达到预设时长,则获取在所述预设时长内实现相应文件操作所执行的所述指令集中包含的指令的总数量,并确定该总数量与所述预设时长的比值为所述程序的性能评分;
确定模块,用于:如果所述性能评分小于预先设定的分数阈值,则确定所述程序需要实现相应的优化,否则,则确定所述程序无需实现优化。
优选的,所述操作模块包括:
操作单元,用于:在设置的预设数量个CPU上,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作。
优选的,还包括:
输出模块,用于:确定所述程序需要实现相应的优化之后,输出指示对所述程序进行相应优化的提示信息,所述提示信息包括所述预设时长、在所述预设时长内执行的指令的总数量及所述性能评分。
优选的,还包括:
设置模块,用于:接收外界输入的设置指令,并基于所述设置指令实现所述预设时长、所述分数阈值及所述预设数量的设置。
一种验证程序性能的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述验证程序性能的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述验证程序性能的方法的步骤。
本发明提供了一种验证程序性能的方法、装置、设备及存储介质,该方法包括:获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;如果监控到实现相应文件操作所用的时长达到预设时长,则获取在所述预设时长内实现相应文件操作所执行的所述指令集中包含的指令的总数量,并确定该总数量与所述预设时长的比值为所述程序的性能评分;如果所述性能评分小于预先设定的分数阈值,则确定所述程序需要实现相应的优化,否则,则确定所述程序无需实现优化。本申请利用需要验证性能的程序的进程对应指令集实现对文件的操作,并且在操作过程中进行实时监控,在对文件的操作的时间达到预设时长时,则确定在预设时长内执行的指令的总数量与预设时长的比为程序的性能评分,从而通过将性能评分与预先设定的分数阈值的比对,确定程序是否需要进行优化;从而通过这种方式实现程序性能评分的确定,能够有效判断程序的优劣,以供实现对程序是否优化的决策确定,也即本申请能够自动有效的实现程序的性能验证。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种验证程序性能的方法的流程图;
图2为本发明实施例提供的一种验证程序性能的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种验证程序性能的方法的流程图,可以包括:
S11:获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用进程标识对应进程包含的指令集对文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程。
本发明实施例提供的一种验证程序性能的方法的执行主体可以为对应的验证程序性能的装置,在需要对任意的程序进行性能验证时,可以首先基于程序的命令行参数获取到其中包含的程序名称,然后根据程序名称获取到进程标识,其中,进程标识可以为进程ID,此时可以通过ps-A|grep程序名称|awk'{print$1}'获取进程ID。在获取到进程标识后,可以基于进程标识定位到相应的进程,进而确定出进程需要操作的文件的文件描述符,具体来说,可以根据进程标识通过函数sys_perf_event_open获取文件描述符,在获取到文件描述符后,可以基于文件描述符定位到对应的文件,进而实现对文件进行的操作。另外,指令集中包含进程执行的各项指令,而利用指令集实现对文件描述符对应文件的操作在内核kernel层实现,具体可以通过ioctl函数将文件描述符及检测指令集的命令发送至内核kernel层,进而在内核kernel层响应该命令利用指令集中包含的各项指令实现对文件描述符对应文件的操作,而对文件的操作可以包括定位到文件所在的文件节点,然后定位到文件节点上的文件,然后打开文件,向文件中写入数据或者读取文件中的数据或者基于文件中的数据等基于文件中的数据进行相应操作后,将实现对文件的操作过程中对使用的指令集中的指令进行计数,并将计数所得数据实时赋值给指令集字段,具体可以将计数所得数据记录至文件描述符,进而在需要时读取文件描述符中计数所得的数据,并将该数据赋值给指令集字段,完成指令集获取检测所用数据的功能。
S12:如果监控到实现相应文件操作所用的时长达到预设时长,则获取在预设时长内实现相应文件操作所执行的指令集中包含的指令的总数量,并确定该总数量与预设时长的比值为程序的性能评分。
其中,预设时长可以根据实际需要进行设定,如30秒、1分钟等;在监控到对文件实现操作所用的时间达到预设时长时,则可以获取上述计数所得数据,也即在预设时长内对文件进行操作执行的指令的总数量,进而可以确定该总数量与预设时长的比值则为程序的性能评分。分数阈值可以根据实际需要进行设定,如果性能评分小于分数阈值,则说明在单位时间内执行的指令总数量较少,需要进行程序之间切换的次数比较少,因此可以认为程序较优,否则,则说明在单位时间内执行的指令总数量较多,需要进行程序之间切换的次数比较多,因此可以认为程序需要进行优化,从而能够依据性能评分提示用户是否对程序进行再次优化,如需优化,则通过优化指令集的方式使得在单位时间内执行较少的指令即可达到对文件需实现的操作,使得cpu处理更快,执行的指令集更多,该方法是衡量程序性能高度的有效方法。
S13:如果性能评分小于预先设定的分数阈值,则确定程序需要实现相应的优化,否则,则确定程序无需实现优化。
本申请利用需要验证性能的程序的进程对应指令集实现对文件的操作,并且在操作过程中进行实时监控,在对文件的操作的时间达到预设时长时,则确定在预设时长内执行的指令的总数量与预设时长的比为程序的性能评分,从而通过将性能评分与预先设定的分数阈值的比对,确定程序是否需要进行优化;从而通过这种方式实现程序性能评分的确定,能够有效判断程序的优劣,以供实现对程序是否优化的决策确定,也即本申请能够自动有效的实现程序的性能验证。
本发明实施例提供的一种验证程序性能的方法,利用进程标识对应进程包含的指令集对文件标识符对应的文件实现相应的文件操作,可以包括:
在设置的预设数量个CPU上,利用进程标识对应进程包含的指令集对文件标识符对应的文件实现相应的文件操作。
由于在利用指令集实现对文件的操作时是需要利用CPU实现的,因此本实施例中为了保证对程序性能进行的评估能够满足当前硬件环境的需求,因此可以设置预设数量,也即设置检测的CPU的数量,进而在对应数量的CPU上实现对文件的操作,进一步保证了对程序性能验证的有效性。
本发明实施例提供的一种验证程序性能的方法,确定程序需要实现相应的优化之后,还可以包括:
输出指示对程序进行相应优化的提示信息,提示信息包括预设时长、在预设时长内执行的指令的总数量及性能评分。
在确定程序需要实现相应的优化之后,为了使得外界用户可以及时获知该结果,进而及时对程序进行相应的优化,则可以输出指示对程序进行相应优化的提示信息,提示信息中可以包括预设时长、指令的总数量及性能评分,从而外界人员通过提示信息可以详细获知利用指令集对文件进行操作的具体情况,为用户实现对指令集的优化决策提供依据。
本发明实施例提供的一种验证程序性能的方法,还可以包括:
接收外界输入的设置指令,并基于设置指令实现预设时长、分数阈值及预设数量的设置。
本实施例中可以在外界输入设置指令后,基于设置指令实现预设时长、分数阈值及预设数量具体的取值的设置,由此使得外界用户在需要改变上述各项参数(预设时长、分数阈值及预设数量)时,可以随时输入设置指令,方便了用户实现相应的设置操作,进而使得上述各项参数的取值能够满足用户在不同时间或场景的需求。
本发明实施例还提供了一种验证程序性能的装置,如图2所示,具体可以包括:
操作模块11,用于:获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用进程标识对应进程包含的指令集对文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;
评分模块12,用于:如果监控到实现相应文件操作所用的时长达到预设时长,则获取在预设时长内实现相应文件操作所执行的指令集中包含的指令的总数量,并确定该总数量与预设时长的比值为程序的性能评分;
确定模块13,用于:如果性能评分小于预先设定的分数阈值,则确定程序需要实现相应的优化,否则,则确定程序无需实现优化。
本发明实施例提供的一种验证程序性能的装置,操作模块可以包括:
操作单元,用于:在设置的预设数量个CPU上,利用进程标识对应进程包含的指令集对文件标识符对应的文件实现相应的文件操作。
本发明实施例提供的一种验证程序性能的装置,还可以包括:
输出模块,用于:确定程序需要实现相应的优化之后,输出指示对程序进行相应优化的提示信息,提示信息包括预设时长、在预设时长内执行的指令的总数量及性能评分。
本发明实施例提供的一种验证程序性能的装置,还可以包括:
设置模块,用于:接收外界输入的设置指令,并基于设置指令实现预设时长、分数阈值及预设数量的设置。
本发明实施例还提供了一种验证程序性能的设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任意实施例所述的验证程序性能的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任意实施例所述的验证程序性能的方法的步骤。
需要说明的是,本发明实施例提供的一种验证程序性能的装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种验证程序性能的方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种验证程序性能的方法,其特征在于,包括:
获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;
如果监控到实现相应文件操作所用的时长达到预设时长,则获取在所述预设时长内实现相应文件操作所执行的所述指令集中包含的指令的总数量,并确定该总数量与所述预设时长的比值为所述程序的性能评分;
如果所述性能评分小于预先设定的分数阈值,则确定所述程序需要实现相应的优化,否则,则确定所述程序无需实现优化。
2.根据权利要求1所述的方法,其特征在于,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,包括:
在设置的预设数量个CPU上,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作。
3.根据权利要求2所述的方法,其特征在于,确定所述程序需要实现相应的优化之后,还包括:
输出指示对所述程序进行相应优化的提示信息,所述提示信息包括所述预设时长、在所述预设时长内执行的指令的总数量及所述性能评分。
4.根据权利要求3所述的方法,其特征在于,还包括:
接收外界输入的设置指令,并基于所述设置指令实现所述预设时长、所述分数阈值及所述预设数量的设置。
5.一种验证程序性能的装置,其特征在于,包括:
操作模块,用于:获取待验证性能的程序对应进程的进程标识及需操作的文件的文件标识符,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作,实时监控实现相应文件操作的过程;
评分模块,用于:如果监控到实现相应文件操作所用的时长达到预设时长,则获取在所述预设时长内实现相应文件操作所执行的所述指令集中包含的指令的总数量,并确定该总数量与所述预设时长的比值为所述程序的性能评分;
确定模块,用于:如果所述性能评分小于预先设定的分数阈值,则确定所述程序需要实现相应的优化,否则,则确定所述程序无需实现优化。
6.根据权利要求5所述的装置,其特征在于,所述操作模块包括:
操作单元,用于:在设置的预设数量个CPU上,利用所述进程标识对应进程包含的指令集对所述文件标识符对应的文件实现相应的文件操作。
7.根据权利要求6所述的装置,其特征在于,还包括:
输出模块,用于:确定所述程序需要实现相应的优化之后,输出指示对所述程序进行相应优化的提示信息,所述提示信息包括所述预设时长、在所述预设时长内执行的指令的总数量及所述性能评分。
8.根据权利要求7所述的装置,其特征在于,还包括:
设置模块,用于:接收外界输入的设置指令,并基于所述设置指令实现所述预设时长、所述分数阈值及所述预设数量的设置。
9.一种验证程序性能的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述验证程序性能的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述验证程序性能的方法的步骤。
CN201911398207.8A 2019-12-30 2019-12-30 一种验证程序性能的方法、装置、设备及存储介质 Active CN111061621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911398207.8A CN111061621B (zh) 2019-12-30 2019-12-30 一种验证程序性能的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911398207.8A CN111061621B (zh) 2019-12-30 2019-12-30 一种验证程序性能的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111061621A CN111061621A (zh) 2020-04-24
CN111061621B true CN111061621B (zh) 2022-07-29

Family

ID=70305054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911398207.8A Active CN111061621B (zh) 2019-12-30 2019-12-30 一种验证程序性能的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111061621B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391989B (zh) * 2021-06-30 2024-01-09 北京百度网讯科技有限公司 程序评估方法、装置、设备、介质及程序产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698686B2 (en) * 2005-04-15 2010-04-13 Microsoft Corporation Method and apparatus for performance analysis on a software program
CN105988855B (zh) * 2015-02-16 2019-11-12 龙芯中科技术有限公司 即时编译参数优化方法及装置
CN108334436B (zh) * 2018-01-31 2021-09-21 平安普惠企业管理有限公司 应用软件的优化方法、装置、设备及计算机可读存储介质
CN110618933B (zh) * 2019-08-15 2021-05-11 华为技术有限公司 性能分析方法与系统、电子设备与存储介质

Also Published As

Publication number Publication date
CN111061621A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
US20190332453A1 (en) Fault processing method, related apparatus, and computer
WO2018120721A1 (zh) 用户界面的测试方法、系统、电子装置及计算机可读存储介质
CN110704304B (zh) 一种应用程序测试方法、装置、存储介质和服务器
JP2023040291A5 (zh)
WO2018120720A1 (zh) 客户端程序的测试错误定位方法、电子装置及存储介质
US10643736B2 (en) Method, apparatus and electronic device for read/write speed testing
WO2017148271A1 (zh) 一种Linux系统复位处理方法、装置及计算机存储介质
WO2017206476A1 (zh) 一种cpu占用的检测方法、装置及设备
CN111061621B (zh) 一种验证程序性能的方法、装置、设备及存储介质
CN112684982A (zh) 一种数据迁移方法、系统、设备及计算机可读存储介质
CN110502581B (zh) 分布式数据库系统监测方法及装置
WO2020233065A1 (zh) 网络环境测试方法、装置及终端设备
CN109542341B (zh) 一种读写io监测方法、装置、终端及计算机可读存储介质
CN110322587B (zh) 驾驶过程中的评价记录方法、装置、设备及存储介质
WO2018227475A1 (zh) 指纹芯片检测方法、装置及系统
CN115018466B (zh) 仿真控制方法及装置、存储介质及电子设备
CN109669829A (zh) 一种基于bmc的诊断调试方法、装置及服务器
TWI796561B (zh) 具有即時中斷驗證功能的記憶體驗證系統及方法
JP6462481B2 (ja) スキル評価装置、スキル評価方法、プログラム、及び記録媒体
CN114138575A (zh) 一种硬盘数据垃圾回收的测试方法、装置、设备及介质
CN110988661B (zh) 一种fpga原型验证开发板时分分析系统、方法、介质及终端
CN114564903A (zh) 一种芯片仿真设计验证方法、装置、设备及介质
CN114356218A (zh) Flash存储器的数据纠错方法、设备以及介质
CN107239376B (zh) 一种服务器互联芯片的自动化调试方法及装置
JP5805166B2 (ja) 通信試験装置、通信試験方法およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant