构造性能测试数据

服务器

浏览数:43

2019-9-16

  批量构造数据常见于性能测试中,大多数功能测试也会用到。不同的构造方法效率不同,下面是利用awk方法进行批量数据构造,效率较高。

使用说明

  构造批量数据常用于性能测试。如果没有Linux服务器,可以安装Cygwin工具执行awk指令。

awk批量数据创建

$ awk -v data_format='136%03d|100|99\n' 'BEGIN{for(i=0;i<=3;i++)printf(data_format,i)}'
136000|100|99
136001|100|99
136002|100|99
136003|100|99

说明:

   1、data_format值表示数据模板记录,%03d表示不足3位,前补0。

   2、for循环表示构造数据的起始值和结束值。上述实例表示构造136000~136003数据记录。

awk批量构造数据并重定向到指定文件

awk -v data_format='136%03d|100|99\n' 'BEGIN{for(i=0;i<=999;i++)printf(data_format,i)}' > data.unl

模板记录包含2个变量数据构造

 awk -v data_format='136%03d|100%02d|99\n' 'BEGIN{for(i=0;i<=99;i++)for(j=0;j<=99;j++)printf(data_format,i,j)}' > data.unl

文件按指定行数或大小分割

  如果需要将构造的数据进行拆分,如何处理?

(1)按照指定行数拆分文件。将data.unl文件拆分成每单个文件包含10000行数据,拆分文件名前缀为split_data,后缀为2个长度的数字。其中-d表示以数字为后缀,-a 2表示后缀长度为2,split_data表示拆分文件前缀名。

split -l 10000 data.unl -d -a 2 split_data

(2)按照指定单个文件大小拆分文件。将data.unl文件拆分成每单个文件大小为10k,拆分文件名前缀为split_data,后缀为2个长度的数字。

split -b 10k data.unl -d -a 2 split_data

 

作者:Beng Dou