IO性能检测方法及系统与流程

文档序号:17475406发布日期:2019-04-20 06:05阅读:645来源:国知局
IO性能检测方法及系统与流程

本申请涉及通信技术领域,尤其涉及io性能检测方法及系统。



背景技术:

io性能(输入/输出性能)的优劣对移动终端有很大影响,可以对移动终端进行io性能检测从而获得io性能。

对于移动终端而言,通常在出厂时利用ios操作系统或android操作系统的io性能检测工具,对移动终端的操作系统进行io性能检测。在检测过程中主要为获得磁盘读写速度,磁盘读写速度越高则说明io性能越好。

但是在移动终端使用过程中,由于磁盘碎片以及使用时间的增加,磁盘性能会逐渐下降,另外移动终端已安装的应用数量以及同时运行的应用数量等都会对io造成影响。

因此,出厂时检测到移动终端的io性能,不能代表移动终端在使用过程具有同等性能,所以需要在移动终端使用过程中检测io性能。



技术实现要素:

鉴于此,本申请提供一种io性能检测方法及移动终端,可以在移动终端使用过程中检测io性能。

一种io性能检测方法,包括:

确定操作系统的状态运行文件和/或调度信息文件;

根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息;

确定移动终端的io性能。

可选的,所述根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从操作系统的状态运行文件中,获得移动终端的io等待时间和cpu运行时间;

则所述确定移动终端的io性能包括:计算所述io等待时间与所述cpu运行时间的比值,若该比值大于第一比值则确定移动终端的io性能异常。

可选的,所述根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从所述调度信息文件中获取多个进程的等待时间,从所述状态运行文件中获取多个进程的运行时间;

则所述确定移动终端的io性能包括:计算进程的等待时间与进程的运行时间的比值;

若比值大于第一比值的进程数量大于第一数量,或,比值大于第一比值的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,所述根据所述状态运行文件和/或所述调度信息文件,确定获得移动终端的io等待信息包括:从操作系统的调度信息文件中获取进程的等待信息;

则确定移动终端的io性能,包括:基于进程的等待信息确定移动终端的io性能。

可选的,所述进程的等待信息包括等待次数和/或等待时间;

则所述基于进程的等待信息确定移动终端的io性能,包括:

在等待次数大于预设次数的进程数量大于第二数量,或,等待次数大于预设次数的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常;

和/或,

在等待时间大于预设时间的进程数量大于第二数量,或,等待时间大于预设时间的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,所述进程的等待信息包括进程的等待时间;

则所述基于进程的等待信息确定移动终端的io性能,包括:在多个调度信息文件中确定多个相同进程的等待时间,并计算相邻等待时间的差值;若等待时间的差值增长幅度大于预设幅度,则确定移动终端的io性能异常。

可选的,根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从操作系统的状态运行文件中,获得移动终端处于不可中断的睡眠状态的进程数量;

则所述确定移动终端的io性能,包括:

若处于不可中断的睡眠状态的进程数量大于第二数量,或,处于不可中断的睡眠状态的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,还包括:基于移动终端的io等待信息,确定移动终端io性能异常的程度。

一种io性能检测方法,包括:

确定操作系统的调度信息文件;

在所述调度信息文件中确定待检测应用所占用的进程的等待信息;

通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能。

可选的,所述等待信息包括等待时间和/或等待次数;

则所述通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能,包括:

若所述待检测应用所占用的进程的等待时间大于预设时间,则确定所述待检测应用的io性能异常;

和/或,

若所述待检测应用所占用进程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

可选的,还包括在所述调度信息文件中确定待检测应用所占用的线程的等待信息;

则通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能,包括:通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能。

可选的,所述等待信息包括等待时间和/或等待次数;

则通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能,包括:

若所述待检测应用所占用的进程的等待时间大于预设时间,或,在所述待检测应用所占用的线程的等待时间大于预设时间,则确定所述待检测应用的io性能异常;

和/或,

若所述待检测应用所占用的进程的等待次数大于预设次数,或,若所述待检测应用所占用线程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

可选的,还包括:

基于等待信息,确定待检测应用io性能异常的程度。

可选的,还包括:

在所述待检测应用的io性能异常的情况下,减少所述待检测应用的io使用操作。

可选的,所述等待信息包括等待时间和/或等待次数;

则通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能,包括:

若所述待检测应用所占用的进程的等待时间不大于预设时间,且,在所述待检测应用所占用的线程的等待时间不大于预设时间,则确定所述待检测应用的io性能正常;

若所述待检测应用所占用的进程的等待次数不大于预设次数,且,若所述待检测应用所占用线程的等待次数不大于预设次数,则确定所述待检测应用的io性能正常。

可选的,还包括:

在所述待检测应用的io性能恢复正常的情况下,增加所述待检测应用的io使用操作。

一种io性能检测方法,包括:

确定操作系统的状态运行文件和调度信息文件;

在所述状态运行文件和调度信息文件中获取io等待信息;

基于所述io等待信息,确定移动终端的io性能和应用的io性能。

可选的,还包括:

在应用的io性能异常的情况下,若移动终端的io性能正常,则确定为应用自身的io操作过多引起的io性能异常;

在应用的io性能异常的情况下,若移动终端的io性能出现异常,且,应用预先测试正常,则确定移动终端的硬件性能低下导致应用的io性能异常。

一种io性能检测系统,包括:

多个移动终端,用于确定操作系统的状态运行文件和调度信息文件,在所述状态运行文件和调度信息文件中获取io等待信息,基于所述io等待信息,确定移动终端的io性能和应用的io性能,发送移动终端的终端信息、io性能以及应用的io性能;

服务器,用于接收多个移动终端发送的移动终端的终端信息、io性能以及应用的io性能,对多个移动终端的终端信息、io性能以及应用的io性能进行数据分析获得分析结果。

一种io性能检测装置,其特征在于,包括:

第一确定文件单元,用于确定操作系统的状态运行文件和/或调度信息文件;

第一确定等待信息单元,用于根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息;

第一确定io性能单元,用于确定移动终端的io性能。

可选的,所述第一确定等待信息单元根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息,具体包括:从操作系统的状态运行文件中,获得移动终端的io等待时间和cpu运行时间;

则所述第一确定io性能单元确定移动终端的io性能包括:计算所述io等待时间与所述cpu运行时间的比值,若该比值大于第一比值则确定移动终端的io性能异常。

可选的,所述第一确定等待信息单元根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从所述调度信息文件中获取多个进程的等待时间,从所述状态运行文件中获取多个进程的运行时间;

则所述第一确定io性能单元确定移动终端的io性能包括:计算进程的等待时间与进程的运行时间的比值;若比值大于第一比值的进程数量大于第一数量,或,比值大于第一比值的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,所述第一确定等待信息单元根据所述状态运行文件和/或所述调度信息文件,确定获得移动终端的io等待信息包括:从操作系统的调度信息文件中获取进程的等待信息;

则所述第一确定io性能单元确定移动终端的io性能,包括:基于进程的等待信息确定移动终端的io性能。

可选的,所述进程的等待信息包括等待次数和/或等待时间;则所述基于进程的等待信息确定移动终端的io性能,包括:

在等待次数大于预设次数的进程数量大于第二数量,或,等待次数大于预设次数的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常;

和/或,

在等待时间大于预设时间的进程数量大于第二数量,或,等待时间大于预设时间的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,所述进程的等待信息包括进程的等待时间;则所述基于进程的等待信息确定移动终端的io性能,包括:在多个调度信息文件中确定多个相同进程的等待时间,并计算相邻等待时间的差值;若等待时间的差值增长幅度大于预设幅度,则确定移动终端的io性能异常。

可选的,所述第一确定等待信息单元根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从操作系统的状态运行文件中,获得移动终端处于不可中断的睡眠状态的进程数量;

则所述第一确定io性能单元确定移动终端的io性能,包括:

若处于不可中断的睡眠状态的进程数量大于第二数量,或,处于不可中断的睡眠状态的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,还包括:确定异常程度单元,用于基于移动终端的io等待信息,确定移动终端io性能异常的程度。

一种io性能检测装置,其特征在于,包括:

第二确定文件单元,用于确定操作系统的调度信息文件;

第二确定等待信息单元,用于在所述调度信息文件中确定待检测应用所占用的进程的等待信息;

第二确定io性能单元,用于通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能。

可选的,所述等待信息包括等待时间和/或等待次数;

则所述第二确定io性能单元通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能,具体包括:

若所述待检测应用所占用的进程的等待时间大于预设时间,则确定所述待检测应用的io性能异常;

和/或,

若所述待检测应用所占用进程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

可选的,第二确定等待信息单元,还用于在所述调度信息文件中确定待检测应用所占用的线程的等待信息;

则第二确定io性能单元通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能,具体包括:通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能。

可选的,所述等待信息包括等待时间和/或等待次数;

则第二确定io性能单元通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能,具体包括:

若所述待检测应用所占用的进程的等待时间大于预设时间,或,在所述待检测应用所占用的线程的等待时间大于预设时间,则确定所述待检测应用的io性能异常;

和/或,

若所述待检测应用所占用的进程的等待次数大于预设次数,或,若所述待检测应用所占用线程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

可选的,还包括:

确定异常程度单元,用于基于等待信息确定待检测应用io性能异常的程度。

可选的,还包括:反向操作单元,用于在所述待检测应用的io性能异常的情况下,减少所述待检测应用的io使用操作。

可选的,所述等待信息包括等待时间和/或等待次数;

则第二确定io性能单元通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能,具体包括:

若所述待检测应用所占用的进程的等待时间不大于预设时间,且,在所述待检测应用所占用的线程的等待时间不大于预设时间,则确定所述待检测应用的io性能正常;

若所述待检测应用所占用的进程的等待次数不大于预设次数,且,若所述待检测应用所占用线程的等待次数不大于预设次数,则确定所述待检测应用的io性能正常。

可选的,所述反向操作单元,还用于在所述待检测应用的io性能恢复正常的情况下,增加所述待检测应用的io使用操作。

一种io性能检测装置,其特征在于,包括:

第三确定文件单元,用于确定操作系统的状态运行文件和调度信息文件;

第三确定等待信息单元,用于在所述状态运行文件和调度信息文件中获取io等待信息;

第三确定io性能单元,用于基于所述io等待信息,确定移动终端的io性能和应用的io性能。

可选的,还包括:

确定起因单元,用于在应用的io性能异常的情况下,若移动终端的io性能正常,则确定为应用自身的io操作过多引起的io性能异常;在应用的io性能异常的情况下,若移动终端的io性能出现异常,且,应用预先测试正常,则确定移动终端的硬件性能低下导致应用的io性能异常。

通过以上技术手段,可以实现以下有益效果:

本申请不再关注磁盘读写速度,而是确定操作的状态运行文件和调度信息文件,其中包括io等待信息。即通过状态运行文件和调度信息文件中的io等待信息来侧面反映io性能。

由于本过程可以在移动终端使用过程中实时执行,所以可以获得实时io性能,准确性较高。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种io性能检测方法的流程图;

图2为本申请实施例公开的一种io性能检测方法的流程图;

图3为本申请实施例公开的一种io性能检测方法的流程图;

图4为本申请实施例公开的一种io性能检测方法的流程图;

图5为本申请实施例公开的一种io性能检测方法的流程图;

图6为本申请实施例公开的一种io性能检测方法的流程图;

图7为本申请实施例公开的一种io性能检测装置的结构示意图;

图8为本申请实施例公开的又一种io性能检测装置的结构示意图;

图9为本申请实施例公开的又一种io性能检测装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

申请人在研究过程中发现:关注移动终端的磁盘读写速度是一件实现比较复杂、影响因素较多且实际意义并不高的方案。本申请不再去关注移动终端的磁盘读写速度,而是关注移动终端的操作系统的io等待信息,并基于io等待信息来反映io性能。

本申请提供的io性能检测方法可以集成于移动终端的操作系统中,也可以作为一个应用集成于移动终端内,对此不做限定。由于本申请可以在移动终端使用过程中检测io性能,所以可以获得移动终端和应用的实时io性能,实时性较高。

可以理解的是,在将io性能检测方法作为一个应用集成于移动终端的情况下,可以避免对操作系统进行更改。因此,将io性能检测方法作为一个应用集成于移动终端方案,适用性更高。

本申请既可以检测移动终端的io性能,还可以检测应用的io性能。下面分别对移动终端的io性能和应用的io性能的检测过程进行说明。

第一部分:对移动终端的io性能进行检测。

根据本申请提供的一个实施例,提供了一种io性能检测方法的实施例一。

步骤s101:从操作系统的状态运行文件中,获取io等待时间和cpu运行时间。

获取操作系统的状态运行文件/proc/stat,在操作系统的状态运行文件中记录了很多系统运行参数,比如,iowait时间和cpu运行时间。

iowait时间指从移动终端开机运行后,由于io调度导致移动终端的等待时间;在移动终端的io等待过程中,移动终端没有进程可以运行,移动终端的cpu处于空闲状态(idle状态)。

可以理解的是,iowait时间越长则表示移动终端因io调度处于空闲状态的时间越长。cpu运行时间为移动终端开机运行后持续计时的时间值。

步骤s102:计算所述io等待时间与所述cpu运行时间的比值。

步骤s103:在所述比值大于第一比值的情况下,确定移动终端的io性能出现异常。

可以理解的是,在比值越大的情况下表示io性能异常的程度越大。

在所述比值不大于第一比值时,可以从侧面反映移动终端未具有长时间等待,但移动终端不一定未出现io性能异常。

其中,第一比值为一个临界阈值,第一比值的具体数值可以由技术人员设定,再次不做限定。

操作系统的状态运行文件/proc/stat还包括进程的运行状态;进程的运行状态可以包括:

r状态:runningorrunnable(onrunqueue),任务正在运行状态。

s状态:interruptiblesleep(waitingforaneventtocomplete)任务正在等待某个事件而休眠。

d状态:uninterruptiblesleep(usuallyio)。

当然,进程的运行状态还可以包括其它状态,在此不再一一赘述。

其中,d状态为不可中断的睡眠状态,处于该状态的进程通常在等待空闲io。比如等待空闲磁盘io,等待空闲网络io,或者,等待其它空闲外设io。

因此,本申请可以在操作系统的状态运行文件/proc/stat中,获取处于不可终端的睡眠状态的进程数量(也即处于d状态的进程数量),以用来辅助确定移动终端的io性能。

可以统计处于不可中断的睡眠状态的进程数量,若处于不可中断的睡眠状态的进程数量与所有进程数量的比值大于第二比值,则可以确定移动终端的io性能出现异常。

即,在所有进程数量中处于不可中断的睡眠状态的进程数量占据大部分进程数量时,则可以确定移动终端的io性能出现异常。

或者,可以判断处于不可中断的睡眠状态的进程数量是否大于第二数量,在处于不可中断的睡眠状态的进程数量大于第二数量的情况下,说明处于不可中断的睡眠状态的进程数量较多,可以确定移动终端的io性能异常。

可以理解的是,在处于不可中断的睡眠状态的进程数量越多的情况下,表示io性能异常的程度越大。

根据本申请提供的一个实施例,提供了一种io性能检测方法的实施例二。参见图2,包括以下步骤:

步骤s201:确定操作系统的调度信息文件。

在操作系统的调度信息文件(sched文件)中,通常会在中记录进程和线程的调度信息和io等待信息。

步骤s202:从操作系统的调度信息文件中获取进程的等待信息。

等待信息可以包括进程的io等待时间和io等待次数。

步骤s203:通过进程的等待信息确定移动终端的io性能。

本步骤具有三种实现方式,三种实现方式可以单独使用也可以随机结合使用,再次不做限定。

第一种实现方式:通过进程的等待次数确定终端的io性能。

在进程暂时没有io可以使用时,进程便处于等待io状态,其等待次数会加1。通常情况下各个进程均会有等待io的情况,所以大部分进程的等待次数非零。因此设定一个预设次数,用来表示进程等待次数较多的阈值。

确定各个进程的等待次数与预设次数之间的大小关系,并统计等待次数大于预设次数的进程。

在等待次数大于预设次数的进程数量大于第二数量,则说明移动终端有较多处于无法获得io的进程,即确定移动终端的io性能异常。

若等待次数大于预设次数的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可以理解的是,在等待次数大于预设次数的进程数量越多的情况下,表示io性能异常的程度越大。

第二种实现方式:通过进程的等待时间确定终端的io性能。

在进程处于等待io的情况下,进程的等待时间会逐渐增加。通常情况下各个进程均会有等待io的情况,所以大部分进程的等待时间非零。因此设定一个预设时间,用来表示进程等待时间较多的阈值。

确定各个进程的等待时间与预设时间之间的大小关系,并统计等待时间大于预设时间的进程数量。

在等待时间大于预设时间的进程数量大于预设数量,则说明移动终端有较多处于无法获得io的进程,即确定移动终端的io性能异常。

或者,在等待时间大于预设时间的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可以理解的是,在等待时间大于预设时间的进程数量越多的情况下,表示io性能异常的程度越大。

第三种实现方式:通过进程的等待时间的差值确定io性能。

可以周期性获取操作系统的调度文件,例如,获得多个调度信息文件中。在多个调度文件中确定相同进程的等待时间的差值,若等待时间的增长幅度大于预设幅度,则确定移动终端的io性能异常。

参见表1,为通过多个调度信息文件计算等待时间差值的举例。

表1

正常情况下,相邻调度信息文件中的相同进程的等待时间的差值应该是类似一致的。若等待时间的增长幅度大于预设幅度则表示等待时间的差值突然增加,则可以确定移动终端的io性能出现异常。

例如,上述表1举例中,进程1的等待时间的差值从50ms突然增加到500ms(上述表1仅为举例说明本实现方式过程,不代表真实情况),则可以确定出等待时间的差值的增长幅度大于预设幅度,从而确定移动终端的io性能出现异常。

可以理解的是,在等待时间的增长幅度越大的情况下,表示io性能异常的程度越大。

根据本申请提供的一个实施例,提供了一种io性能检测方法的实施例三。参见图3,包括以下步骤:

步骤s301:确定操作系统的状态运行文件和调度信息文件。

确定操作系统的状态运行文件/proc/stat,以及调度信息文件sched。

步骤s302:从调度信息文件中获取进程的等待时间并从所述状态运行文件中获取进程的运行时间。

从调度信息文件sched中获取各个进程的等待时间,然后从状态运行文件中获取各个进程的运行时间。

步骤s303:计算进程的等待时间与进程的运行时间的比值。

步骤s304:在比值大于第一比值的进程数量大于第一数量,或,比值大于第一比值的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

在进程的等待时间与进程的运行时间的比值大于第一比值的情况下,则说明进程处于长时间等待状态。

统计比值大于第一比值的进程数量,若比值大于第一比值的进程数量越多,则表示处于长时间等待状态的进程越多。

在比值大于第一比值的进程数量大于第一数量,则确定移动终端的io性能异常。或者,在比值大于第一比值的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可以理解的是,在统计比值大于第一比值的进程数量越多的情况下,表示io性能异常的程度越大。

根据本申请提供的一个实施例,提供了一种io性能检测方法的实施例四。参见图4,包括以下步骤:

步骤s401:确定操作系统的状态运行文件以及调度信息文件。

步骤s402:从操作系统的状态运行文件中获取io等待时间和cpu运行时间,从操作系统的调度信息文件中获取进程的等待信息。

步骤s403:计算所述io等待时间与所述cpu运行时间的比值。

步骤s404:通过所述比值以及进程的等待信息,确定移动终端的io性能。

本实施例中通过两个维度确定移动终端是否出现io性能异常,其中一个维度为按照实施例一的方式基于比值来确定移动终端是否出现io性能异常;另一个维度为按照实施例二或实施例三的方式,基于进程的等待信息确定移动终端是否出现io性能异常。

在两个维度均判定移动终端出现io性能异常的情况下,确定移动终端出现io性能异常。

通过上述实施例本申请可以实现以下有益效果:

本申请不再关注磁盘读写速度,而是确定操作的状态运行文件和调度信息文件,其中包括移动终端的io等待信息。即通过状态运行文件和调度信息文件中的io等待信息来侧面反映移动终端的io性能。

由于本过程可以在移动终端使用过程中实时执行,所以可以获得实时io性能,准确性较高。

第二部分:对移动终端的应用进行io性能进行检测。

根据本申请提供的一个实施例,提供了一种io性能检测方法的实施例五。由于对各个应用的执行过程均是一致的,因此以一个待检测应用为例进行说明。

参见图5,包括以下步骤:

步骤s501:确定操作系统的调度信息文件。

步骤s502:在所述调度信息文件中确定待检测应用所占用的进程的等待信息和线程的等待信息。

在操作系统的调度信息文件中,通常会在sched文件中记录进程、线程在内的io等待信息,等待信息可以包括io等待时间,io等待次数等。

在调度信息文件中,可以查找与待检测应用的标识对应的进程和线程,从而获得待检测应用所占用的进程和线程的进程等待信息和线程等待信息。

步骤s503:通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能。

本实施例提供了本步骤的两种实现方式。

第一种实现方式:

在所述待检测应用所占用的进程的等待次数大于预设次数,或,待检测应用所占用线程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

在待检测应用所占用的进程的等待次数大于预设次数的情况下,可以确定待检测应用的io性能异常。可以理解的是,可以仅通过待检测应用的进程来确定待检测应用的io性能。

在待检测应用所占用的线程的等待次数大于预设次数的情况下,可以确定待检测应用的io性能异常。

由于待检测应用对应的进程可以包括多个线程,有的io等待情况可能不会反映在待检测应用所在进程上,而是反映在进程中的一个或多个线程上。因此,本实施例还可以获得线程的等待次数,在线程的等待次数大于预设次数的情况下,可以确定待检测应用的io性能异常。

反之,在所述待检测应用所占用的进程的等待时间不大于预设时间,且,在所述待检测应用所占用的线程的等待时间不大于预设时间,则确定所述待检测应用的io性能正常。

第二种实现方式:

在所述待检测应用所占用的进程的等待时间大于预设时间,或,待检测应用所占用线程的等待时间大于预设时间,则确定所述待检测应用的io性能异常。

即,在所述待检测应用所占用的进程的等待时间大于预设时间,则确定所述待检测应用的io性能异常。可以理解的是,可以仅通过待检测应用的进程来确定待检测应用的io性能。

在所述待检测应用所占用的线程的等待时间大于预设时间,则确定所述待检测应用的io性能异常。

第一种实现方式采用等待次数,第二种实现方式中采用等待时间,除此之外第二种实现方式与第一种是实现方式类似,在此不再赘述。

反之,若所述待检测应用所占用的进程的等待次数不大于预设次数,且,若所述待检测应用所占用线程的等待次数不大于预设次数,则确定所述待检测应用的io性能正常。

步骤s504:调整所述待检测应用的io使用操作。

在待检测应用的io性能异常的情况下,可以减少所述待检测应用的io使用量。

例如,减少待检测应用的io读写量或者读写时间;减少所述待检测应用的并行任务数量;或,调节具有等待信息的进程或线程的优先级等方式来减少待检测应用的io使用操作,从而缓解待检测应用的io性能。

在待检测应用的io性能恢复正常后,可以增加待检测应用的io读写量或读写时间,增加待检测应用的并行任务数量等方式,来增加待检测应用的io使用操作,从而适应待检测应用的io性能。

在通过多次的反向调节后,可以使得待检测应用更好的适应移动终端的性能。调整待检测应用的io性能,以便达到io性能平衡点,从而有利于提升待检测应用的io性能。

本申请还提供了一种io性能检测系统,包括多个移动终端和服务器。

多个移动终端,用于确定操作系统的状态运行文件和调度信息文件,在所述状态运行文件和调度信息文件中获取io等待信息,基于所述io等待信息,确定移动终端的io性能和应用的io性能,发送移动终端的终端信息、io性能以及应用的io性能。

移动终端可以采用状态运行文件和调度信息文件并按照实施例一-实施例四任一种的方式,确定移动终端的io性能;并采用状态运行文件和调度运行文件按照实施例五的方式确定各个应用的io性能。

然后,移动终端可以发送终端信息、移动终端的io性能以及应用的io性能至服务器,以便服务器可以汇总各个移动终端的终端信息、io性能和应用的io性能。

服务器,用于接收多个移动终端发送的移动终端的终端信息、io性能以及应用的io性能,对多个移动终端的终端信息、io性能以及应用的io性能进行大数据分析获得分析结果。

服务器可以对多个移动终端的终端、io性能和应用的io性能进行分类汇总,从而获得一些共性信息和差异信息。

例如,按照终端信息对移动终端的io性能进行分类汇总,从而可以得到不同终端信息的io性能。比如,在分类汇总后发现某个型号的移动终端的io性能普遍存在io异常,则可以确定该型号的移动终端的性能低下。

再如,统计应用在各个移动终端的额io性能,若某一应用在大部分移动终端上出现io异常,则可以确定应用的执行过程异常。

当然,可以根据实际情况需要进行大数据分析,从而获得共性信息和差异信息,以便之后可以为应用开发,操作系统的优化,硬件的搭配优化提供进一步的参考。

本申请又提供了一种io性能检测方法。参见图6,包括以下步骤:

步骤s601:确定操作系统的状态运行文件和调度信息文件。

步骤s602:在所述状态运行文件和调度信息文件中获取io等待信息。

步骤s603:基于所述io等待信息,确定移动终端的io性能和应用的io性能。

本实施例还可以确定引起应用io异常的原因:

在应用的io性能异常的情况下,若移动终端的io性能正常,则确定为应用自身的io操作过多引起的io性能异常。

利用实施例一—实施例四的方式确定移动终端的io性能,若移动终端的io性能正常,但是待检测应用的io性能异常,则确定是待检测应用进程的io操作较多,已经超过该设备的io读写速度。

在应用的io性能异常的情况下,若移动终端的io性能出现异常,且,应用预先测试正常,则确定移动终端的硬件性能低下导致应用的io性能异常。

利用实施例一—实施例四的方式确定移动终端的io性能,若移动终端的io性能异常,则再过一段时间,再次检测移动终端的io性能和待检测应用的io性能,若移动终端的io性能异常,且,待检测应用的性能异常。

若待检测应用在上架之前的测试结果正常,则确定移动终端的性能较低,在运行的应用较多时,便会出现待检测应用的io性能异常的问题。

参见图7,本申请提供了一种io性能检测装置,包括:

第一确定文件单元71,用于确定操作系统的状态运行文件和/或调度信息文件;

第一确定等待信息单元72,用于根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息;

第一确定io性能单元73,用于确定移动终端的io性能。

可选的,所述第一确定等待信息单元72根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息,具体包括:从操作系统的状态运行文件中,获得移动终端的io等待时间和cpu运行时间;

则所述第一确定io性能单元73确定移动终端的io性能包括:计算所述io等待时间与所述cpu运行时间的比值,若该比值大于第一比值则确定移动终端的io性能异常。

可选的,所述第一确定等待信息单元72根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从所述调度信息文件中获取多个进程的等待时间,从所述状态运行文件中获取多个进程的运行时间;

则所述第一确定io性能单元73确定移动终端的io性能包括:计算进程的等待时间与进程的运行时间的比值;若比值大于第一比值的进程数量大于第一数量,或,比值大于第一比值的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,所述第一确定等待信息单元72根据所述状态运行文件和/或所述调度信息文件,确定获得移动终端的io等待信息包括:从操作系统的调度信息文件中获取进程的等待信息;

则所述第一确定io性能单元73确定移动终端的io性能,包括:基于进程的等待信息确定移动终端的io性能。

可选的,所述进程的等待信息包括等待次数和/或等待时间;则所述基于进程的等待信息确定移动终端的io性能,包括:

在等待次数大于预设次数的进程数量大于第二数量,或,等待次数大于预设次数的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常;

和/或,

在等待时间大于预设时间的进程数量大于第二数量,或,等待时间大于预设时间的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,所述进程的等待信息包括进程的等待时间;则所述基于进程的等待信息确定移动终端的io性能,包括:在多个调度信息文件中确定多个相同进程的等待时间,并计算相邻等待时间的差值;若等待时间的差值增长幅度大于预设幅度,则确定移动终端的io性能异常。

可选的,所述第一确定等待信息单元72根据所述状态运行文件和/或所述调度信息文件,确定移动终端的io等待信息包括:从操作系统的状态运行文件中,获得移动终端处于不可中断的睡眠状态的进程数量;

则所述第一确定io性能单元73确定移动终端的io性能,包括:

若处于不可中断的睡眠状态的进程数量大于第二数量,或,处于不可中断的睡眠状态的进程数量与所有进程数量的比值大于第二比值,则确定移动终端的io性能异常。

可选的,还包括:确定异常程度单元74,用于基于移动终端的io等待信息,确定移动终端io性能异常的程度。

关于图7所示的io性能检测装置的具体实现过程,可以参见实施例一-实施例四的执行过程,在此不再赘述。

根据图8,本申请还提供一种io性能检测装置,包括:

第二确定文件单元81,用于确定操作系统的调度信息文件;

第二确定等待信息单元82,用于在所述调度信息文件中确定待检测应用所占用的进程的等待信息;

第二确定io性能单元83,用于通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能。

可选的,所述等待信息包括等待时间和/或等待次数;

则所述第二确定io性能单元82通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能,具体包括:若所述待检测应用所占用的进程的等待时间大于预设时间,则确定所述待检测应用的io性能异常;和/或,若所述待检测应用所占用进程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

可选的,第二确定等待信息单元82,还用于在所述调度信息文件中确定待检测应用所占用的线程的等待信息;

则第二确定io性能单元82通过所述待检测应用所占用的进程的等待信息,确定所述待检测应用的io性能,具体包括:通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能。

可选的,所述等待信息包括等待时间和/或等待次数;

则第二确定io性能单元83通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能,具体包括:

若所述待检测应用所占用的进程的等待时间大于预设时间,或,在所述待检测应用所占用的线程的等待时间大于预设时间,则确定所述待检测应用的io性能异常;

和/或,

若所述待检测应用所占用的进程的等待次数大于预设次数,或,若所述待检测应用所占用线程的等待次数大于预设次数,则确定所述待检测应用的io性能异常。

可选的,还包括:确定异常程度单元84,用于基于等待信息确定待检测应用io性能异常的程度。

可选的,还包括:反向操作单元85,用于在所述待检测应用的io性能异常的情况下,减少所述待检测应用的io使用操作。

可选的,所述等待信息包括等待时间和/或等待次数;

则第二确定io性能单元83通过所述待检测应用所占用的进程的等待信息和线程的等待信息,确定所述待检测应用的io性能,具体包括:

若所述待检测应用所占用的进程的等待时间不大于预设时间,且,在所述待检测应用所占用的线程的等待时间不大于预设时间,则确定所述待检测应用的io性能正常;

若所述待检测应用所占用的进程的等待次数不大于预设次数,且,若所述待检测应用所占用线程的等待次数不大于预设次数,则确定所述待检测应用的io性能正常。

可选的,所述反向操作单元85,还用于在所述待检测应用的io性能恢复正常的情况下,增加所述待检测应用的io使用操作。

关于图8所示的io性能检测装置,可以参见实施例二的具体实现过程,在此不再赘述。

参见图9,提供了一种io性能检测装置,包括:

第三确定文件单元91,用于确定操作系统的状态运行文件和调度信息文件;

第三确定等待信息单元92,用于在所述状态运行文件和调度信息文件中获取io等待信息;

第三确定io性能单元93,用于基于所述io等待信息,确定移动终端的io性能和应用的io性能。

可选的,还包括:

确定起因单元94,用于在应用的io性能异常的情况下,若移动终端的io性能正常,则确定为应用自身的io操作过多引起的io性能异常;在应用的io性能异常的情况下,若移动终端的io性能出现异常,且,应用预先测试正常,则确定移动终端的硬件性能低下导致应用的io性能异常。

关于图9所示的io性能检测装置,可以参见实施例三的具体实现过程,在此不再赘述。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1