一种基于Stream工具自动化测试内存性能的方法与流程

文档序号:11286119阅读:1572来源:国知局

本发明涉及服务器软件自动化测试领域,具体地说是一种基于stream工具自动化测试内存性能的方法。



背景技术:

stream测试是内存测试中业界公认的内存带宽性能测试基准工具,已成为衡量服务器内存性能指标的通用工具。

内存测试stream过程,需要手动安装intel的开发包来支持stream编译及stream的运行。开发包的安装及stream的编译和运行需要花费较多的手动时间,且存在人为操作出错的概率。较多机器测试内存性能带宽时会花费大量人力物力。



技术实现要素:

本发明的技术任务是提供一种基于stream工具自动化测试内存性能的方法。

本发明的技术任务是按以下方式实现的,该方法步骤如下:

1)拷贝intel的开发安装包、stream编译包,自动化脚本到待测服务器;

2)赋予自动化脚本执行权限;

3)执行stream脚本;

4)stream脚本自动进行intel开发包安装、stream的编译运行,对不同块大小的30次性能带宽数据求平均值显示输出。

所述的步骤4)中如有错误信息则自动生成log档供测试人员参考。

所述的stream脚本具体步骤如下:

1)intel开发包安装,调用mkl.install脚本自动完成安装;

2)声明libiomp5.so库文件及路径;

3)编译不同块大小的stream文件;

4)执行不同块大小的stream文件各执行30次stream测试;

5)将每次stream测试的结果进行自动化处理。

所述的intel开发包安装,调用mkl.install脚本自动完成安装的脚本如下:

cd/opt/

tarzxvfl_ccompxe_intel64_2013.5.192.tgz

./mkl_install

echo-e"\033[32mmklinstallationfinished!\033[0m"

sleep2

…。

所述的声明libiomp5.so库文件及路径的脚本如下:

#findlibiomp5.so

a=`find/-namelibiomp5.so|grepintel64`

mp5_path=`echo${a%/*}`

#configurepath

echo"exportld_library_path=\$ld_library_path:$mp5_path">>/root/.bashrc

source/root/.bashrc

#findicc

b=`find/-namelibiomp5.so|grepintel64`

icc_path=`echo${b%/*}`

#configurepath

echo"exportpath=\$path:$icc_path">>/root/.bashrc

…。

所述的编译不同块大小的stream文件的脚本如下:

icc-ostream.c-ostream_400m

…。

所述的执行不同块大小的stream文件各执行30次stream测试的脚本如下:

#dotest290m

for((i=1;i<31;i++))

do

./stream_omp_290m|tee-a290m.txt

done

#dotest400m

for((i=1;i<31;i++))

do

./stream_omp_400m|tee-a400m.txt

done

…。

所述的将每次stream测试的结果进行自动化处理的脚本如下:

#awk290m

b=`cat290m.txt|greptriad|awk'{print$2}'|awk'begin{sum=0}{sum+=$1}end{printsum/30}'`

echo-e"\033[32mthestream_omp_290mtriadrate:$b(mb/s)\033[0m"|tee-a290m.txt

#awk400m

c=`cat400m.txt|greptriad|awk'{print$2}'|awk'begin{sum=0}{sum+=$1}end{printsum/30}'`

echo-e"\033[32mthestream_omp_400mtriadrate:$c(mb/s)\033[0m"|tee-a400m.txt

…。

本发明的一种基于stream工具自动化测试内存性能的方法和现有技术相比,实现自动化测试内存性能,提高效率;便于批量部署,有效提升产品竞争力。

具体实施方式

实施例1:

该基于stream工具自动化测试内存性能的方法步骤如下:

1)拷贝intel的开发安装包、stream编译包,自动化脚本到待测服务器;

2)赋予自动化脚本执行权限;

3)执行stream脚本;

4)stream脚本自动进行intel开发包安装、stream的编译运行,对不同块大小的30次性能带宽数据求平均值显示输出;如有错误信息则自动生成log档供测试人员参考。

所述的stream脚本具体步骤如下:

1)intel开发包安装,调用mkl.install脚本自动完成安装;

cd/opt/

tarzxvfl_ccompxe_intel64_2013.5.192.tgz

./mkl_install

echo-e"\033[32mmklinstallationfinished!\033[0m"

sleep2

…。

2)声明libiomp5.so库文件及路径;

#findlibiomp5.so

a=`find/-namelibiomp5.so|grepintel64`

mp5_path=`echo${a%/*}`

#configurepath

echo"exportld_library_path=\$ld_library_path:$mp5_path">>/root/.bashrc

source/root/.bashrc

#findicc

b=`find/-namelibiomp5.so|grepintel64`

icc_path=`echo${b%/*}`

#configurepath

echo"exportpath=\$path:$icc_path">>/root/.bashrc

…。

3)编译不同块大小的stream文件;

icc-ostream.c-ostream_400m

…。

4)执行不同块大小的stream文件各执行30次stream测试;

#dotest290m

for((i=1;i<31;i++))

do

./stream_omp_290m|tee-a290m.txt

done

#dotest400m

for((i=1;i<31;i++))

do

./stream_omp_400m|tee-a400m.txt

done

…。

5)将每次stream测试的结果进行自动化处理。

#awk290m

b=`cat290m.txt|greptriad|awk'{print$2}'|awk'begin{sum=0}{sum+=$1}end{printsum/30}'`

echo-e"\033[32mthestream_omp_290mtriadrate:$b(mb/s)\033[0m"|tee-a290m.txt

#awk400m

c=`cat400m.txt|greptriad|awk'{print$2}'|awk'begin{sum=0}{sum+=$1}end{printsum/30}'`

echo-e"\033[32mthestream_omp_400mtriadrate:$c(mb/s)\033[0m"|tee-a400m.txt

…。

开发包安装采用expect语言

#!/usr/bin/expect

settimeout30

spawn/opt/l_ccompxe_intel64_2013.5.192/install.sh

expect"\"q\"toquit:"

expect"tocontinuewiththeinstallationofthisproduct"

sleep1

send"q\r"

expect"or\"decline\"tobacktotheprevious"

send"accept\r"

expect{

"iwanttoevaluatemyproductoractivatelater"

***

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

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