一种基于IOzone模拟气象平台应用的数据读写测试方法与流程

文档序号:11407011阅读:372来源:国知局

本发明涉及计算机技术领域,具体是一种基于iozone模拟气象平台应用的数据读写测试方法。



背景技术:

目前,中国绝大部分气象局,如中国气象局、北京市气象局等,对于数值天气预报普遍采用mm5、wrf预报模型。此外,一些气象局还采用一些自己研发的辅助预报模型,比如中国气象局,其还采用其自主研发的grapes全球预报模型等。

但是,无论气象局采用哪种气象预报模型(下称“气象平台”),其对应的计算量都非常大,中间产生的临时数据对存储(即数据的读写)的性能要求都很高。

现有技术中,往往通过实际搭建气象应用环境,并在该搭建的环境下部署不同的气象应用软件,之后(通过实际部署气象应用软件)完成对气象平台中数据存储性能的评估。测试环境部署繁琐,测试周期长。此为现有技术的不足之处。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术的不足,提供一种基于iozone模拟气象平台应用的数据读写测试方法,用于简化测试环境的部署,缩短测试周期。

为解决上述技术问题,本发明提供了一种基于iozone模拟气象平台应用的数据读写测试方法,包括:

步骤a、在气象平台部署高性能文件系统;

步骤b、在气象平台创建一组测试文件;

步骤c、在气象平台安装iozone,并基于该安装的iozone以及上述步骤b中所创建的各测试文件,建立步骤a中所部署的高性能文件系统的数据读写模型;

步骤d、依据步骤c中建立的数据读写模型,配置上述iozone支持的进程数及上述iozone读写数据块的大小;

步骤e、基于步骤d中所作的配置,编写自动化测试脚本,以调用步骤c中所建立的数据读写模型,对气象平台的数据读写性能进行测试。

其中,上述步骤c中建立的数据读写模型包括单流数据读写模型。

其中,上述步骤c中建立的数据读写模型还包括多流数据读写模型。

其中,所述单流数据读写模型的实现方法包括步骤:

s1、从所述气象平台的各计算节点中选出一组计算节点;

s2、遍历上述步骤s1中选出的各计算节点,分别采用单进程对当前遍历出的各相应计算节点进行数据读写性能测试。

进一步地,所述步骤s1基于上述步骤a中所部署的高性能文件系统的io通路的长短进行相应计算节点的选择,且该步骤s1中选出的各相应的计算节点包括:io通路最长的计算节点、io通路长度居中的计算节点,以及io通路最短的计算节点。

进一步地,上述步骤s2中进行的数据读写性能测试包括以下读写操作:write,re-write,read,re-read,randomread,randomwrite,randommix,backwardsread,recordrewrite,stridedread,fwrite,frewrite,fread,freread,writewithmmap,rewritewithmmap,readerwithmmap,re-readerwithmmap,writerposixasynci/o,re-writerposixasynci/o,readerposixasynci/o,re-readerposixasynci/o。

其中,所述多流数据读写模型的实现方法包括步骤:

步骤p1、分别为上述气象平台的各计算节点设置多进程;

步骤p2、控制上述气象平台的各计算节点分别依据预先设定的读写操作,通过并发运行步骤p1中为其各自设置的相应多进程,进行上述气象平台的数据读写测试。

其中,步骤p1中为所述的各计算节点设置的多进程包括:64进程、128进程、256进程和512进程。

其中,上述步骤p2中所述的预先设定的读写操作包括:write、re-write、read和re-read。

其中,所述的高性能文件系统为lustre文件系统、gpfsfs文件系统、hdfs文件系统、ceph文件系统、gridfs文件系统、mogilefs文件系统、tfs文件系统、fastdfs文件系统中任意一种文件系统。

与现有技术相比,本发明的优点在于:

本发明基于iozone模拟气象应用中对数据存储的读写,不需要实际安装并运行气象应用软件,即可完成对气象平台数据存储性能的评估测试,环境部署简单、测试周期短。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

图1为本发明所述基于iozone模拟气象平台应用的数据读写测试方法的方法流程图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。

具体实施方式1:

图1为本发明所述的基于iozone模拟气象平台应用的数据读写测试方法的一种具体实施方式。其中,该基于iozone模拟气象平台应用的数据读写测试方法,包括以下步骤:

步骤a、在气象平台部署高性能文件系统。

本实施方式中,所述的高性能文件系统采用lustre文件系统,即实施时,在气象平台的各计算节点(本实施方式中有8个计算节点)部署lustre文件系统。

其中,lustre文件系统的server端的部署方法为,在linux环境下,安装如下软件包:

kernel-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

kernel-debuginfo-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

kernel-debuginfo-common-x86_64-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

kernel-devel-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

kernel-firmware-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

kernel-headers-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

lustre-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-debuginfo-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-dkms-2.7.0-1.el6.noarch.rpm;

lustre-iokit-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-modules-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-osd-ldiskfs-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-osd-ldiskfs-mount-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-osd-zfs-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-osd-zfs-mount-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-source-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

lustre-tests-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;

perf-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

perf-debuginfo-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

python-perf-2.6.32-504.8.1.el6_lustre.x86_64.rpm;

python-perf-debuginfo-2.6.32-504.8.1.el6_lustre.x86_64.rpm。

lustre文件系统的client端(客户端)部署方法为,在linux环境下,在所述气象平台的各计算节点分别安装如下软件包:

lustre-client-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;

lustre-client-debuginfo-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;

lustre-client-modules-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;

lustre-client-source-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;

lustre-client-tests-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;

lustre-dkms-2.7.0-1.el6.noarch.rpm;

lustre-iokit-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm。

步骤b、在气象平台创建一组测试文件。

在本实施方式中,所创建的测试文件的大小包括:128kb、1mb、10mb、100mb、1gb、10gb、128gb、256gb。

步骤c、在气象平台安装iozone,并基于该安装的iozone以及上述步骤b中所创建的各测试文件,建立步骤a中所部署的高性能文件系统的数据读写模型。

其中,该步骤c中建立的数据读写模型包括单流数据读写模型和多流数据读写模型。

在本实施方式中,所述的单流数据读写模型的实现方法包括步骤:

s1、从所述气象平台的各计算节点中选出一组计算节点;

s2、遍历上述步骤s1中选出的各计算节点,分别采用单进程对当前遍历出的各相应计算节点进行数据读写性能测试。

进一步地,所述步骤s1基于上述步骤a中所部署的高性能文件系统的io通路的长短进行相应计算节点的选择,且该步骤s1中选出的各相应的计算节点包括:io通路最长的计算节点、io通路长度居中的计算节点,以及io通路最短的计算节点。

进一步地,上述步骤s2中进行的数据读写性能测试包括以下读写操作:write,re-write,read,re-read,randomread,randomwrite,randommix,backwardsread,recordrewrite,stridedread,fwrite,frewrite,fread,freread,writewithmmap,rewritewithmmap,readerwithmmap,re-readerwithmmap,writerposixasynci/o,re-writerposixasynci/o,readerposixasynci/o,re-readerposixasynci/o。

在本实施方式中,所述多流数据读写模型的实现方法包括步骤:

步骤p1、分别为上述气象平台的各计算节点设置多进程;

步骤p2、控制上述气象平台的各计算节点分别依据预先设定的读写操作,通过并发运行步骤p1中为其各自设置的相应多进程,进行上述气象平台的数据读写测试。

其中,上述步骤p1中为所述的各计算节点设置的多进程包括:64进程、128进程、256进程和512进程。其中,在本实施方式中,每个iozone的测试进程运行在一个处理器核中,且气象平台的各计算节点均满配运行。

其中,上述步骤p2中所述的预先设定的读写操作包括:write、re-write、read和re-read。

步骤d、依据步骤c中建立的数据读写模型,配置上述iozone支持的进程数及上述iozone读写数据块的大小。

其中,在本实施方式中,相应的配置代码如下所示:

#definemaxbuffersize(16*1024*1024*2);/用于设置iozone最大支持的数据块大小/

#definemaxstreams256*2。/用于设置iozone最大支持线程数大小/

具体配置时,将上述两条配置代码添加至上述iozone的iozone.c中。

步骤e、基于步骤d中所作的配置,编写自动化测试脚本,以调用步骤c中所建立的数据读写模型,对气象平台的数据读写性能进行测试。

使用时,首先在气象平台的各计算节点部署lustre文件系统、并在该气象平台创建如上所述大小的各相应测试文件,之后在气象平台安装iozone,并基于该安装的iozone以及上述所创建的各测试文件,建立上述所部署lustre文件系统的数据读写模型;之后基于上述建立的数据读写模型,配置上述iozone支持的进程数及上述iozone读写数据块的大小;最后基于上述所作的配置,编写自动化测试脚本,调用上述所建立的数据读写模型,对气象平台的数据读写性能进行测试。

综上,本发明基于iozone模拟气象应用中对数据存储的读写,不需要实际安装并运行气象应用软件,即可完成对气象平台数据存储性能的评估测试,环境部署简单、测试周期短。且便于实现。便于推广使用。

以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。

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