构造性能测试数据
批量构造数据常见于性能测试中,大多数功能测试也会用到。不同的构造方法效率不同,下面是利用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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义