CN103268204A - 固态硬盘的调优方法及装置 - Google Patents
固态硬盘的调优方法及装置 Download PDFInfo
- Publication number
- CN103268204A CN103268204A CN2013102289990A CN201310228999A CN103268204A CN 103268204 A CN103268204 A CN 103268204A CN 2013102289990 A CN2013102289990 A CN 2013102289990A CN 201310228999 A CN201310228999 A CN 201310228999A CN 103268204 A CN103268204 A CN 103268204A
- Authority
- CN
- China
- Prior art keywords
- solid state
- hard disc
- parameter
- state hard
- status data
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种固态硬盘的调优方法,包括以下步骤:对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据;对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据;将最终IO状态数据与调整前预设时间内的IO状态数据进行比较;以及当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改。本方法能自动的对固态硬盘的系统参数和硬件配置结合应用进行调优,最终达到发挥固态硬盘最大性能的目的,具有高效性、实时性与易用性。本发明还提出了一种固态硬盘的调优装置。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种固态硬盘的调优方法及装置。
背景技术
目前,固态硬盘因其较高的随机性能、低功耗、抗震性等原因正在得到越来越多的应用。随着应用种类的增多,由于操作系统和硬件配置的关系,固态硬盘并不能发挥其最大的作用。
现有技术是通过对固态硬盘的各项系统参数进行调研测试,获取最优配置。但是存在以下的缺点:只能获取一种或少数几种最优配置,效率低,且人力成本高;由于固态硬盘的应用场景越来越多,一种或几种最优配置并不能适应所有的应用,缺乏普遍性与易用性;由于硬件更新换代的速度很快,固态硬盘的硬盘系统参数配置也需要随着硬件的升级而改动,缺乏灵活性。
发明内容
本发明的旨在至少解决上述技术缺陷之一。
为此,本发明第一个目的在于提出一种固态硬盘的调优方法,该方法能自动的对固态硬盘的系统参数和硬件配置结合应用进行调优,最终达到发挥固态硬盘最大性能的目的,具有高效性、实时性与易用性。
本发明第二个目的在于提出一种固态硬盘的调优装置。
为实现上述目的,根据本发明第一方面的实施例的固态硬盘的调优方法,包括以下步骤:对固态硬盘的参数进行调整,获取调整后所述固态硬盘在预设时间内的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是根据本发明一个实施例的固态硬盘的调优方法的流程图;
图2是根据本发明另一个实施例的固态硬盘的调优方法的流程图;
图3是根据本发明一个实施例的固态硬盘的调优装置的结构示意图;以及
图4是根据本发明另一个实施例的固态硬盘的调优装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的固态硬盘的调优方法和固态硬盘的调优装置。
目前,固态硬盘因其较高的随机性能、低功耗、抗震性等原因正在得到越来越多的应用。随着应用种类的增多,由于操作系统和硬件配置的关系,固态硬盘并不能发挥其最大的作用。现有技术是通过对固态硬盘的各项系统参数进行调研测试,获取最优配置。但是存在以下的缺点:只能获取一种或少数几种最优配置,效率低,且人力成本高;由于固态硬盘的应用场景越来越多,一种或几种最优配置并不能适应所有的应用,缺乏普遍性与易用性;由于硬件更新换代的速度很快,固态硬盘的硬盘系统参数配置也需要随着硬件的升级而改动,缺乏灵活性。
为此,本发明提出了一种固态硬盘的调优方法,包括以下步骤:对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据;对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据;将最终IO状态数据与调整前预设时间内的IO状态数据进行比较;以及当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改。
图1是根据本发明一个实施例的固态硬盘的调优方法的流程图。
如图1所示,根据本发明实施例的固态硬盘的调优方法,包括:
S101,对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据。
在本发明的一个实施例中,固态硬盘的参数包括sys下的系统参数、文件系统参数、阵列卡RAID参数和proc文件系统参数中的一个或多个。由此,提高了固态硬盘的参数的多样性。
在本发明的一个实施例中,通过使用系统读写状态命令iostat获取调整后所述固态硬盘在预设时间内的IO状态数据,其中,预设时间为用户自定义,例如,预设时间为5分钟。由此,提高获取IO状态数据的高效性与易用性。
S102,对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据。
在本发明的一个实施例中,对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据,进一步包括:将IO状态数据相加,并计算平均值以获得固态硬盘在预设时间内的最终IO状态数据。由此,提高了获取最终IO状态数据的准确性与易用性。
S103,将最终IO状态数据与调整前预设时间内的IO状态数据进行比较。
S104,当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改,其中,预设值为用户自定义,例如,如果最终IO状态数据与调整前预设时间内,即5分钟内的所有IO状态数据之间的差值大于10%时,认为调整后的参数起到了调优的作用,即根据调整后的参数对固态硬盘的参数进行修改。
在本发明的一个实施例中,对sys下系统参数和proc文件系统参数使用系统显示文字命令echo对调整后的固态硬盘的参数进行修改;以及对文件系统参数使用系统挂载命令mount对调整后的固态硬盘的参数进行修改。由此,提高了通过命令对调整后的固态硬盘的参数进行修改的高效性与易用性。
例如,sys下的系统参数包括调度算法Scheduler、判定是否是旋转设备Rotational、预取数据大小Read_ahead_kb、合并方法No_merges以及请求队列缓存请求数量Nr_request。
具体地,对于sys下的系统参数为调度算法Schedule:由于固态硬盘并没有普通硬盘的机械部件,因此对于硬盘的调度算法对于固态硬盘可能并不适用,因此需要对调度算法进行调式。例如:echo noop>/sys/block/<ssd-patition>/queue/scheduler表示将调度算法调整为“无操作(noop)”,继而达到用这个命令修改Schedule调度算法的目的。
对于sys下的系统参数为判定是否是旋转设备Rotational:由于固态硬盘是由flash芯片组成,没有磁盘等旋转型的存储介质,因此需要对上述参数进行调试;对于sys下的系统参数为预取数据大小Read_ahead_kb:由于普通硬盘的速度较慢,通过利用空间局部性原理,提前读取一部分数据至硬盘可以提升数据在内存中的命中率,但是固态硬盘具有较高的读取能力,因此预取的数据大小可以进行调整;对于sys下的系统参数为合并方法No_merges:由于普通硬盘存在寻道操作,通过对请求进行合并,将小请求转换为大请求,可以有效的减少寻道操作,对于固态硬盘来说,由于没有寻道操作,因此可以通过调试上述这个参数来达到提升固态硬盘性能的目的;对于sys下的系统参数为请求队列缓存请求数量Nr_request:对于普通硬盘,缓存的请求越多,可以合并的概率就越大,访问硬盘是寻道操作就越少,从而提高性能,但对于固态硬盘来讲,由于不存在寻道操作,可以通过调试上述这个参数确定适合固态硬盘的队列长度。
进一步地,对于读写并重的应用,会出现写请求过大而延长了读请求响应时间的情况,因此调整proc文件系统参数下的系统缓存页超时时间dirty_expire_centisecs和系统缓存回写硬盘频率dirty_writeback_centisecs参数,由此,提高系统写硬盘的频率,可以将大请求拆分成小请求,使得读请求能够尽快响应。例如:使用命令echo50>/proc/sys/vm/dirty_writeback_centisecs表示将系统缓存回写硬盘频率调整为50ms/次。
进一步地,对于固态硬盘来讲,小请求的随机写入操作,会引起擦除操作,从而严重降低固态硬盘的写性能。因此,减少文件系统中的部分不重要的写操作可以提升固态硬盘的性能,包括:是否存储日志选项has_journal、文件和目录访问时间记录noatime/nodiratime。例如:命令为:mount–o noatime,nodiratime,remount<ssd-patition><mount-point>表示将固态硬盘分区挂载在挂载点上,在挂载时,我们要求不对文件修改时间,文件夹修改时间进行记录,进而达到修改文件系统参数的目的。
在本发明的一个实施例中,对阵列卡RAID参数使用MegaCli工具对调整后的固态硬盘的参数进行修改。由此,提高了通过使用软件对调整后的固态硬盘的参数进行修改的高效性与易用性。
例如,阵列卡RAID卡参数包含读写策略和条带宽度。具体地,写策略:写直达模式Write Through和写返回模式Write Back,由于固态硬盘并不存在寻道时间,因此适用于硬盘的写策略写返回模式Write Back可能不适合固态硬盘,因此需要对其进行调试;读策略:RA+Cached模式和NORA+direct模式,固态硬盘不存在寻道操作,因此可能并不需要进行预取操作,相应的也就不需要使用阵列卡RAID的cache了;条带宽度:不同的应用,其IO请求的大小是不同的,因此需要调整一个适合应用的条带宽度使得固态硬盘在阵列卡RAID方式下,发挥最大的性能。例如:对于阵列卡RAID使用LSI阵列卡管理工具MegaCli这个工具进行修改。
根据本发明实施例的固态硬盘的调优方法,对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据,并计算以获得固态硬盘在预设时间内的最终IO状态数据,将最终IO状态数据与调整前预设时间内的IO状态数据进行比较;当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改。该方法能自动的对固态硬盘的系统参数和硬件配置结合应用进行调优,最终达到发挥固态硬盘最大性能的目的,具有高效性、实时性与易用性。
图2是根据本发明另一个实施例的固态硬盘的调优方法的流程图。
如图2所示,根据本发明另一个实施例的固态硬盘的调优方法,包括:
S201,对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据。
在本发明的一个实施例中,固态硬盘的参数包括sys下的系统参数、文件系统参数、阵列卡RAID参数和proc文件系统参数中的一个或多个。由此,提高了固态硬盘的参数的多样性。
在本发明的一个实施例中,通过使用系统读写状态命令iostat获取调整后所述固态硬盘在预设时间内的IO状态数据,其中,预设时间为用户自定义,例如,预设时间为5分钟。由此,提高获取IO状态数据的高效性与易用性。
S202,对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据。
在本发明的一个实施例中,对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据,进一步包括:将IO状态数据相加,并计算平均值以获得固态硬盘在预设时间内的最终IO状态数据。由此,提高了获取最终IO状态数据的准确性与易用性。
S203,将最终IO状态数据与调整前预设时间内的IO状态数据进行比较。
S204,当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改,其中,预设值为用户自定义,例如,如果最终IO状态数据与调整前预设时间内,即5分钟内的所有IO状态数据之间的差值大于10%时,认为调整后的参数起到了调优的作用,即根据调整后的参数对固态硬盘的参数进行修改。
在本发明的一个实施例中,对sys下系统参数和proc文件系统参数使用系统命令echo对调整后的固态硬盘的参数进行修改;以及对文件系统参数使用系统命令mount对调整后的固态硬盘的参数进行修改。由此,提高了通过命令对调整后的固态硬盘的参数进行修改的高效性与易用性。
例如,sys下的系统参数包括调度算法Scheduler、判定是否是旋转设备Rotational、预取数据大小Read_ahead_kb、合并方法No_merges以及请求队列缓存请求数量Nr_request。
具体地,对于sys下的系统参数为调度算法Schedule:由于固态硬盘并没有普通硬盘的机械部件,因此对于硬盘的调度算法对于固态硬盘可能并不适用,因此需要对调度算法进行调式。例如:echo noop>/sys/block/<ssd-patition>/queue/scheduler表示将调度算法调整为“无操作(noop)”,继而达到用这个命令修改Schedule调度算法的目的。
对于sys下的系统参数为判定是否是旋转设备Rotational:由于固态硬盘是由flash芯片组成,没有磁盘等旋转型的存储介质,因此需要对上述参数进行调试;对于sys下的系统参数为预取数据大小Read_ahead_kb:由于普通硬盘的速度较慢,通过利用空间局部性原理,提前读取一部分数据至硬盘可以提升数据在内存中的命中率,但是固态硬盘具有较高的读取能力,因此预取的数据大小可以进行调整;对于sys下的系统参数为合并方法No_merges:由于普通硬盘存在寻道操作,通过对请求进行合并,将小请求转换为大请求,可以有效的减少寻道操作,对于固态硬盘来说,由于没有寻道操作,因此可以通过调试上述这个参数来达到提升固态硬盘性能的目的;对于sys下的系统参数为请求队列缓存请求数量Nr_request:对于普通硬盘,缓存的请求越多,可以合并的概率就越大,访问硬盘是寻道操作就越少,从而提高性能,但对于固态硬盘来讲,由于不存在寻道操作,可以通过调试上述这个参数确定适合固态硬盘的队列长度。
进一步地,对于读写并重的应用,会出现写请求过大而延长了读请求响应时间的情况,因此调整proc文件系统参数下的系统缓存页超时时间dirty_expire_centisecs和系统缓存回写硬盘频率dirty_writeback_centisecs参数,由此,提高系统写硬盘的频率,可以将大请求拆分成小请求,使得读请求能够尽快响应。例如:使用命令echo50>/proc/sys/vm/dirty_writeback_centisecs表示将系统缓存回写硬盘频率调整为50ms/次。
进一步地,对于固态硬盘来讲,小请求的随机写入操作,会引起擦除操作,从而严重降低固态硬盘的写性能。因此,减少文件系统中的部分不重要的写操作可以提升固态硬盘的性能,包括:是否存储日志选项has_journal、文件和目录访问时间记录noatime/nodiratime。例如:命令为:mount–o noatime,nodiratime,remount<ssd-patition><mount-point>表示将固态硬盘分区挂载在挂载点上,在挂载时,我们要求不对文件修改时间,文件夹修改时间进行记录,进而达到修改文件系统参数的目的。
在本发明的一个实施例中,对阵列卡RAID参数使用MegaCli工具对调整后的固态硬盘的参数进行修改。由此,提高了通过使用软件对调整后的固态硬盘的参数进行修改的高效性与易用性。
例如,阵列卡RAID卡参数包含读写策略和条带宽度。具体地,写策略:写直达模式Write Through和写返回模式Write Back,由于固态硬盘并不存在寻道时间,因此适用于硬盘的写策略写返回模式Write Back可能不适合固态硬盘,因此需要对其进行调试;读策略:RA+Cached模式和NORA+direct模式,固态硬盘不存在寻道操作,因此可能并不需要进行预取操作,相应的也就不需要使用阵列卡RAID的cache了;条带宽度:不同的应用,其IO请求的大小是不同的,因此需要调整一个适合应用的条带宽度使得固态硬盘在阵列卡RAID方式下,发挥最大的性能。例如:对于阵列卡RAID使用LSI阵列卡管理工具MegaCli这个工具进行修改。
S205,当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值小于或等于预设值时,恢复调整前固态硬盘的参数。
根据本发明实施例的固态硬盘的调优方法,对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据,并计算以获得固态硬盘在预设时间内的最终IO状态数据,将最终IO状态数据与调整前预设时间内的IO状态数据进行比较;当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改,当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值小于或等于预设值时,恢复调整前固态硬盘的参数。该方法能自动的对固态硬盘的系统参数和硬件配置结合应用进行调优,当针对固态硬盘的调整后的参数不为调优状态时,恢复调整前的参数,最终达到发挥固态硬盘最大性能的目的,具有高效性、实时性与易用性。
为了达到上述目的,本发明还提出了一种固态硬盘的调优装置。
一种固态硬盘的调优装置,获取模块,用于对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据;计算模块,用于对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据;比较模块,用于将最终IO状态数据与调整前预设时间内的IO状态数据进行比较;以及修改模块,用于当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改。
图3是根据本发明一个实施例的固态硬盘的调优装置的结构示意图。
如图3所示,根据本发明一个实施例的固态硬盘的调优装置30,包括:获取模块310、计算模块320、比较模块330以及修改模块340。
在本发明的一个实施例中,获取模块310,用于对固态硬盘的参数进行调整,获取调整后固态硬盘在预设时间内的IO状态数据。
在本发明的一个实施例中,固态硬盘的参数包括sys下的系统参数、文件系统参数、阵列卡RAID参数和proc文件系统参数中的一个或多个。由此,提高了固态硬盘的参数的多样性。
在本发明的一个实施例中,通过使用系统读写状态命令iostat获取调整后所述固态硬盘在预设时间内的IO状态数据,其中,预设时间为用户自定义,例如,预设时间为5分钟。由此,提高获取IO状态数据的高效性与易用性。
计算模块320,用于对IO状态数据进行计算以获得固态硬盘在预设时间内的最终IO状态数据。
在本发明的一个实施例中,计算模块220还用于将IO状态数据相加,并计算平均值以获得固态硬盘在预设时间内的最终IO状态数据。由此,提高了获取最终IO状态数据的准确性与易用性。
在本发明的一个实施例中,比较模块330,用于将最终IO状态数据与调整前预设时间内的IO状态数据进行比较;以及修改模块340,用于当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数对固态硬盘的参数进行修改。
在本发明的一个实施例中,对sys下系统参数和proc文件系统参数使用系统显示文字命令echo对调整后的固态硬盘的参数进行修改;以及对文件系统参数使用系统挂载命令mount对调整后的固态硬盘的参数进行修改。由此,提高了通过命令对调整后的固态硬盘的参数进行修改的高效性与易用性。
例如,sys下的系统参数包括调度算法Scheduler、判定是否是旋转设备Rotational、预取数据大小Read_ahead_kb、合并方法No_merges以及请求队列缓存请求数量Nr_request。
具体地,对于sys下的系统参数为调度算法Schedule:由于固态硬盘并没有普通硬盘的机械部件,因此对于硬盘的调度算法对于固态硬盘可能并不适用,因此需要对调度算法进行调式。例如:echo noop>/sys/block/<ssd-patition>/queue/scheduler表示将调度算法调整为“无操作(noop)”,继而达到用这个命令修改Schedule调度算法的目的。
对于sys下的系统参数为判定是否是旋转设备Rotational:由于固态硬盘是由flash芯片组成,没有磁盘等旋转型的存储介质,因此需要对上述参数进行调试;对于sys下的系统参数为预取数据大小Read_ahead_kb:由于普通硬盘的速度较慢,通过利用空间局部性原理,提前读取一部分数据至硬盘可以提升数据在内存中的命中率,但是固态硬盘具有较高的读取能力,因此预取的数据大小可以进行调整;对于sys下的系统参数为合并方法No_merges:由于普通硬盘存在寻道操作,通过对请求进行合并,将小请求转换为大请求,可以有效的减少寻道操作,对于固态硬盘来说,由于没有寻道操作,因此可以通过调试上述这个参数来达到提升固态硬盘性能的目的;对于sys下的系统参数为请求队列缓存请求数量Nr_request:对于普通硬盘,缓存的请求越多,可以合并的概率就越大,访问硬盘是寻道操作就越少,从而提高性能,但对于固态硬盘来讲,由于不存在寻道操作,可以通过调试上述这个参数确定适合固态硬盘的队列长度。
进一步地,对于读写并重的应用,会出现写请求过大而延长了读请求响应时间的情况,因此调整proc文件系统参数下的系统缓存页超时时间dirty_expire_centisecs和系统缓存回写硬盘频率dirty_writeback_centisecs参数,由此,提高系统写硬盘的频率,可以将大请求拆分成小请求,使得读请求能够尽快响应。例如:使用命令echo50>/proc/sys/vm/dirty_writeback_centisecs表示将系统缓存回写硬盘频率调整为50ms/次。
进一步地,对于固态硬盘来讲,小请求的随机写入操作,会引起擦除操作,从而严重降低固态硬盘的写性能。因此,减少文件系统中的部分不重要的写操作可以提升固态硬盘的性能,包括:是否存储日志选项has_journal、文件和目录访问时间记录noatime/nodiratime。例如:命令为:mount–o noatime,nodiratime,remount<ssd-patition><mount-point>表示将固态硬盘分区挂载在挂载点上,在挂载时,我们要求不对文件修改时间,文件夹修改时间进行记录,进而达到修改文件系统参数的目的。
在本发明的一个实施例中,对阵列卡RAID参数使用MegaCli工具对调整后的固态硬盘的参数进行修改。由此,提高了通过使用软件对调整后的固态硬盘的参数进行修改的高效性与易用性。
例如,阵列卡RAID卡参数包含读写策略和条带宽度。具体地,写策略:写直达模式Write Through和写返回模式Write Back,由于固态硬盘并不存在寻道时间,因此适用于硬盘的写策略写返回模式Write Back可能不适合固态硬盘,因此需要对其进行调试;读策略:RA+Cached模式和NORA+direct模式,固态硬盘不存在寻道操作,因此可能并不需要进行预取操作,相应的也就不需要使用阵列卡RAID的cache了;条带宽度:不同的应用,其IO请求的大小是不同的,因此需要调整一个适合应用的条带宽度使得固态硬盘在阵列卡RAID方式下,发挥最大的性能。例如:对于阵列卡RAID使用LSI阵列卡管理工具MegaCli这个工具进行修改。
根据本发明实施例的固态硬盘的调优装置,对固态硬盘的参数进行调整,通过获取模块获取调整后固态硬盘在预设时间内的IO状态数据,继而通过计算模块计算以获得固态硬盘在预设时间内的最终IO状态数据,将最终IO状态数据与调整前预设时间内的IO状态数据通过比较模块进行比较;当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数通过修改模块对固态硬盘的参数进行修改。该装置能自动的对固态硬盘的系统参数和硬件配置结合应用进行调优,最终达到发挥固态硬盘最大性能的目的,具有高效性、实时性与易用性。
图4是根据本发明另一个实施例的固态硬盘的调优装置的结构示意图。
如图4所示,根据本发明另一个实施例的固态硬盘的调优装置30,还包括:恢复模块350。
在本发明的一个实施例中,恢复模块350用于当最终IO状态数据与调整前预设时间内的所述IO状态数据之间的差值小于或等于预设值时,恢复调整前固态硬盘的参数。由此,提高了对固态硬盘调优的准确性与易用性。
根据本发明实施例的固态硬盘的调优装置,对固态硬盘的参数进行调整,通过获取模块获取调整后固态硬盘在预设时间内的IO状态数据,继而通过计算模块计算以获得固态硬盘在预设时间内的最终IO状态数据,将最终IO状态数据与调整前预设时间内的IO状态数据通过比较模块进行比较;当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值大于预设值时,根据调整后的参数通过修改模块对固态硬盘的参数进行修改,当最终IO状态数据与调整前预设时间内的IO状态数据之间的差值小于或等于预设值时,通过恢复模块恢复调整前固态硬盘的参数。该装置能自动的对固态硬盘的系统参数和硬件配置结合应用进行调优,当针对固态硬盘的调整后的参数不为调优状态时,恢复调整前的参数,最终达到发挥固态硬盘最大性能的目的,具有高效性、实时性与易用性。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求极其等同限定。
Claims (14)
1.一种固态硬盘的调优方法,其特征在于,包括以下步骤:
对固态硬盘的参数进行调整,获取调整后所述固态硬盘在预设时间内的IO状态数据;
对所述IO状态数据进行计算以获得所述固态硬盘在所述预设时间内的最终IO状态数据;
将所述最终IO状态数据与调整前所述预设时间内的所述IO状态数据进行比较;以及
当所述最终IO状态数据与调整前所述预设时间内的所述IO状态数据之间的差值大于预设值时,根据调整后的参数对所述固态硬盘的参数进行修改。
2.根据权利要求1所述的方法,其特征在于,还包括,当所述最终IO状态数据与调整前所述预设时间内的所述IO状态数据之间的差值小于或等于预设值时,恢复调整前所述固态硬盘的参数。
3.根据权利要求1所述的方法,其特征在于,通过使用系统读写状态命令iostat获取调整后所述固态硬盘在预设时间内的IO状态数据。
4.根据权利要求1所述的方法,其特征在于,对所述IO状态数据进行计算以获得所述固态硬盘在所述预设时间内的最终IO状态数据,进一步包括:将所述IO状态数据相加,并计算平均值以获得所述固态硬盘在所述预设时间内的最终IO状态数据。
5.根据权利要求1所述的方法,其特征在于,所述固态硬盘的参数包括sys下的系统参数、文件系统参数、阵列卡RAID参数和proc文件系统参数中的一个或多个。
6.根据权利要求1所述的方法,其特征在于,对所述sys下系统参数和所述proc文件系统参数使用系统显示文字命令echo对调整后的所述固态硬盘的参数进行修改;以及
对所述文件系统参数使用系统挂载命令mount对调整后的所述固态硬盘的参数进行修改。
7.根据权利要求1所述的方法,其特征在于,对所述阵列卡RAID参数使用MegaCli工具对调整后的所述固态硬盘的参数进行修改。
8.一种固态硬盘的调优装置,其特征在于,包括:
获取模块,用于对固态硬盘的参数进行调整,获取调整后所述固态硬盘在预设时间内的IO状态数据;
计算模块,用于对所述IO状态数据进行计算以获得所述固态硬盘在所述预设时间内的最终IO状态数据;
比较模块,用于将所述最终IO状态数据与调整前所述预设时间内的所述IO状态数据进行比较;以及
修改模块,用于当所述最终IO状态数据与调整前所述预设时间内的所述IO状态数据之间的差值大于预设值时,根据调整后的参数对所述固态硬盘的参数进行修改。
9.根据权利要求8所述的装置,其特征在于,还包括,恢复模块,用于当所述最终IO状态数据与调整前所述预设时间内的所述IO状态数据之间的差值小于或等于预设值时,恢复调整前所述固态硬盘的参数。
10.根据权利要求8所述的装置,其特征在于,通过使用系统读写状态命令iostat获取调整后所述固态硬盘在预设时间内的IO状态数据。
11.根据权利要求8所述的装置,其特征在于,所述计算模块,还用于将所述IO状态数据相加,并计算平均值以获得所述固态硬盘在所述预设时间内的最终IO状态数据。
12.根据权利要求8所述的装置,其特征在于,所述固态硬盘的参数包括sys下的系统参数、文件系统参数、阵列卡RAID参数和proc文件系统参数中的一个或多个。
13.根据权利要求8所述的装置,其特征在于,对所述sys下系统参数和所述proc文件系统参数使用系统显示文字命令echo对调整后的所述固态硬盘的参数进行修改;以及
对所述文件系统参数使用系统挂载命令mount对调整后的所述固态硬盘的参数进行修改。
14.根据权利要求8所述的装置,其特征在于,对所述阵列卡RAID参数使用MegaCli工具对调整后的所述固态硬盘的参数进行修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310228999.0A CN103268204B (zh) | 2013-06-08 | 2013-06-08 | 固态硬盘的调优方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310228999.0A CN103268204B (zh) | 2013-06-08 | 2013-06-08 | 固态硬盘的调优方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103268204A true CN103268204A (zh) | 2013-08-28 |
CN103268204B CN103268204B (zh) | 2016-12-28 |
Family
ID=49011839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310228999.0A Active CN103268204B (zh) | 2013-06-08 | 2013-06-08 | 固态硬盘的调优方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268204B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500143A (zh) * | 2013-09-27 | 2014-01-08 | 华为技术有限公司 | 硬盘参数调整方法及装置 |
CN104536902A (zh) * | 2015-01-28 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种测试服务器io子系统的性能调优方法 |
CN105224253A (zh) * | 2015-09-29 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘性能优化的方法 |
CN105242877A (zh) * | 2015-09-29 | 2016-01-13 | 浪潮电子信息产业股份有限公司 | 一种Linux下硬件RAID管理方法 |
CN105893118A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106020720A (zh) * | 2016-05-16 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种Smart Rack节点IO性能优化的方法 |
CN106648472A (zh) * | 2016-12-30 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种基于linux操作系统的磁盘性能优化方法及系统 |
CN107918528A (zh) * | 2017-11-16 | 2018-04-17 | 郑州云海信息技术有限公司 | 一种提高linux系统固态硬盘性能的方法 |
CN109634924A (zh) * | 2018-11-02 | 2019-04-16 | 华南师范大学 | 基于机器学习的文件系统参数自动调优方法及系统 |
CN111968733A (zh) * | 2020-07-29 | 2020-11-20 | 江苏人先医疗科技有限公司 | 一种医疗设备的管理方法、管理装置和存储介质 |
CN114442935A (zh) * | 2021-12-29 | 2022-05-06 | 天翼云科技有限公司 | 刷脏数据的方法、装置、电子设备及存储介质 |
CN115373609A (zh) * | 2022-10-25 | 2022-11-22 | 浪潮电子信息产业股份有限公司 | 任务处理方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702758A (zh) * | 2004-05-28 | 2005-11-30 | 日立环球储存科技荷兰有限公司 | 嵌入有片上优化的读/写通道 |
CN101533366A (zh) * | 2009-03-09 | 2009-09-16 | 浪潮电子信息产业股份有限公司 | 一种服务器性能数据采集与分析的方法 |
CN101739215A (zh) * | 2008-11-19 | 2010-06-16 | 成都市华为赛门铁克科技有限公司 | 一种确定输入输出调度算法的方法及装置 |
CN102929667A (zh) * | 2012-10-24 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种hadoop集群性能的优化方法 |
-
2013
- 2013-06-08 CN CN201310228999.0A patent/CN103268204B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702758A (zh) * | 2004-05-28 | 2005-11-30 | 日立环球储存科技荷兰有限公司 | 嵌入有片上优化的读/写通道 |
CN101739215A (zh) * | 2008-11-19 | 2010-06-16 | 成都市华为赛门铁克科技有限公司 | 一种确定输入输出调度算法的方法及装置 |
CN101533366A (zh) * | 2009-03-09 | 2009-09-16 | 浪潮电子信息产业股份有限公司 | 一种服务器性能数据采集与分析的方法 |
CN102929667A (zh) * | 2012-10-24 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种hadoop集群性能的优化方法 |
Non-Patent Citations (1)
Title |
---|
顾昕等: "基于分布式数据流系统的启发式任务调度算法", 《中国科技论文在线》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500143B (zh) * | 2013-09-27 | 2016-08-10 | 华为技术有限公司 | 硬盘参数调整方法及装置 |
CN103500143A (zh) * | 2013-09-27 | 2014-01-08 | 华为技术有限公司 | 硬盘参数调整方法及装置 |
CN104536902A (zh) * | 2015-01-28 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种测试服务器io子系统的性能调优方法 |
CN105224253A (zh) * | 2015-09-29 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘性能优化的方法 |
CN105242877A (zh) * | 2015-09-29 | 2016-01-13 | 浪潮电子信息产业股份有限公司 | 一种Linux下硬件RAID管理方法 |
CN105893118A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106020720A (zh) * | 2016-05-16 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种Smart Rack节点IO性能优化的方法 |
CN106020720B (zh) * | 2016-05-16 | 2018-12-14 | 浪潮电子信息产业股份有限公司 | 一种Smart Rack节点IO性能优化的方法 |
CN106648472B (zh) * | 2016-12-30 | 2020-04-03 | 郑州云海信息技术有限公司 | 一种基于linux操作系统的磁盘性能优化方法及系统 |
CN106648472A (zh) * | 2016-12-30 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种基于linux操作系统的磁盘性能优化方法及系统 |
CN107918528A (zh) * | 2017-11-16 | 2018-04-17 | 郑州云海信息技术有限公司 | 一种提高linux系统固态硬盘性能的方法 |
CN109634924A (zh) * | 2018-11-02 | 2019-04-16 | 华南师范大学 | 基于机器学习的文件系统参数自动调优方法及系统 |
CN109634924B (zh) * | 2018-11-02 | 2022-12-20 | 华南师范大学 | 基于机器学习的文件系统参数自动调优方法及系统 |
CN111968733A (zh) * | 2020-07-29 | 2020-11-20 | 江苏人先医疗科技有限公司 | 一种医疗设备的管理方法、管理装置和存储介质 |
CN114442935A (zh) * | 2021-12-29 | 2022-05-06 | 天翼云科技有限公司 | 刷脏数据的方法、装置、电子设备及存储介质 |
CN114442935B (zh) * | 2021-12-29 | 2023-08-04 | 天翼云科技有限公司 | 刷脏数据的方法、装置、电子设备及存储介质 |
CN115373609A (zh) * | 2022-10-25 | 2022-11-22 | 浪潮电子信息产业股份有限公司 | 任务处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103268204B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268204A (zh) | 固态硬盘的调优方法及装置 | |
US8918583B2 (en) | Adapting behavior of solid-state drive using real usage model | |
CN103257701B (zh) | 在低功耗模式下保留被缓存的信息的技术 | |
US20140181595A1 (en) | Estimating lifespan of solid-state drive using real usage model | |
CN105302478B (zh) | 一种数据存储方法及电子设备 | |
WO2014138411A1 (en) | System and method for tiered caching and storage allocation | |
US8286015B2 (en) | Storage array power management using lifecycle information | |
US20140181585A1 (en) | Real usage model for solid-state drive | |
CN103576835B (zh) | 一种休眠磁盘的数据操作方法和装置 | |
WO2013062714A1 (en) | Enabling a non-core domain to control memory bandwidth | |
US20100050007A1 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN111581126B (zh) | 一种基于ssd的日志数据保存方法、装置、设备和介质 | |
JP2009530709A5 (zh) | ||
USRE49418E1 (en) | Information processing apparatus and cache control method | |
EP1697828A2 (en) | Dynamic power management | |
CN103064792A (zh) | 数据写入方法及装置 | |
CN101872288A (zh) | 固态硬盘驱动器以及操作频率控制方法 | |
Nishikawa et al. | Energy efficient storage management cooperated with large data intensive applications | |
US8161251B2 (en) | Heterogeneous storage array optimization through eviction | |
KR20170042593A (ko) | 파일 시스템에서의 플러싱 기법 | |
CN101364437A (zh) | 一种可使闪存损耗均衡的方法及其应用 | |
Bisson et al. | NVCache: Increasing the effectiveness of disk spin-down algorithms with caching | |
CN105474182A (zh) | 在电子设备处于低功率模式的同时支持周期性写操作的存储设备 | |
US11693570B2 (en) | Machine learning to improve caching efficiency in a storage system | |
CN101807212B (zh) | 嵌入式文件系统的缓存方法及嵌入式文件系统的缓存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |