[转帖]Postmark - 存储性能测试工具
1. 引言
Postmark是由著名的NAS提供商NetApp开发,用来测试其产品的后端存储性能。
Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是:需要频繁、大量地存取小文件。
Postmark的测试原理是创建一个测试文件池。文件的数量和最大、最小长度可以设定,数据总量是一定的。创建完成后,Postmark对文件池进行一系列的事务(transaction)操作,根据从实际应用中统计的结果,设定每一个事务包括一次创建或删除操作和一次读或添加操作,在有些情况下,文件系统的缓存策略可能对性能造成影响,Postmark可以通过对创建/删除以及读/添加操作的比例进行修改来抵消这种影响。事务操作进行完毕后,Post对文件池进行删除操作,并结束测试,输出结果。
Postmark是用随机数来产生所操作文件的序号,从而使测试更加贴近于现实应用。
输出结果中比较重要的输出数据包括测试总时间、每秒钟平均完成的事务数、在事务处理中平均每秒创建和删除的文件数,以及读和写的平均传输速度。
2. Postmark使用方法(两种):
2.1 使用配置文件
配置文件方式,是将所有配置命令及run放入文件中,由postmark自动读取
配置文件示例:
-
set size 10000 50000
-
set transactions 5000
-
set number 5000
-
run
-
quit
运行
./postmark XXX.cfg
2.2 命令行模式
./postmark
进入命令行模式,然后打入相应命令,进行配置,run命令按当前配置运行postmark
将上面配置文件中的命令在命令行中依次执行,结果是相同的,没有任何区别
例如:
-
[root@msns719 pm-test]# ./postmark-1.51
-
PostMark v1.51 : 8/14/01
-
pm>set size 10000 20000
-
pm>set number 1000
-
pm>set transactions 50000
-
pm>run
3. 命令解析
set size min_size max_size 设置文件大小的上下限
set number XXX 设置并发文件数
set seed XXX 设置随机数种子
set transactions XXX 设置事务数
set location 设置工作目录,应该是已有目录,默认为当前目录
+ name weight
- name
name weight 将原有目录全部删除,然后添加参数中的目录
set subdirectory n n 为每个工作目录下的子目录个数
set read n
set write n 设置读写块大小
set buffering true/false
true buffered(defoult)
false nobuffered
set bias read n n为read/append中read所占比例 n/10
set bias create n create/delete中create所占比例 n/10
set report verbose(default)/terse 设置报告模式,terse模式的输出没有文字说明,便于通过批处理运行多个测试之后,使用excel对结果进行分析
run [filename] 运行postmark,结果输出到stdout或者文件filename
show [filename] 输出当前设置
help
quit
4. 实例测试
配置文件pm.cfg如下:
-
set location /mnt/testaudit/pm-test
-
set subdirectories 1
-
set size 10000 50000
-
set transactions 5000
-
set number 5000
-
run
-
quit
运行
-
[root@RedHat postmark]# ./postmark pm.cfg
-
PostMark v1.5 : 3/27/01
-
Reading configuration from file 'pm.cfg'
-
Creating files...Done
-
Performing transactions..........Done
-
Deleting files...Done
-
Time:
-
39 seconds total
-
16 seconds of transactions (312 per second)
-
-
Files:
-
7455 created (191 per second)
-
Creation alone: 5000 files (500 per second)
-
Mixed with transactions: 2455 files (153 per second)
-
2553 read (159 per second)
-
2447 appended (152 per second)
-
7455 deleted (191 per second)
-
Deletion alone: 4910 files (377 per second)
-
Mixed with transactions: 2545 files (159 per second)
-
-
Data:
-
77.04 megabytes read (1.98 megabytes per second)
-
234.28 megabytes written (6.01 megabytes per second)
-
[root@RedHat postmark]#
此benchmark亦可修改为测试多线程的环境。
</article>
[转帖]Postmark - 存储性能测试工具的更多相关文章
- RGW/SWIFT对象存储性能测试工具--COSBench安装
Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 https://github.com/intel-cloud/cos ...
- 云存储性能测试工具--COSBench安装
COSBench安装 Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 1 环境 1.1 操作系统 COSBench可 ...
- Android性能测试工具(一)之Emmagee
Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...
- 开源多线程性能测试工具-sysbench
导读 sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文主要演示Mysql测试 ...
- Redis性能测试工具benchmark简介
Redis自己提供了一个性能测试工具redis-benchmark.redis-benchmark可以模拟N个机器,同时发送M个请求. 用法:redis-benchmark [-h -h <ho ...
- python模块介绍- multi-mechanize 性能测试工具
python模块介绍- multi-mechanize 性能测试工具 2013-09-13 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 3739 ...
- NoSQL性能测试工具YCSB-Running a Workload
写在前面 目前,在系统设计中引入了越来越多的NoSQL产品,例如Redis/ MongoDB/ HBase等,其中性能指标往往会成为权衡不同NoSQL产品的关键因素.对这些产品在性能表现和产品选择上的 ...
- 性能测试工具Locust的使用
一.写在前面 官网:https://www.locust.io/ 官方使用文档:https://docs.locust.io/en/latest/ 大并发量测试时,建议在linux系统下进行. 二.L ...
- 性能测试工具 wrk 使用教程
文章首发自个人微信公众号:小哈学Java 个人网站地址:https://www.exception.site/wrk 被面试官经常问到之前开发的系统接口 QPS 能达到多少,经常给不出一个数值,支支吾 ...
- 数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具
redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个 ...
随机推荐
- 袋鼠云数栈UI5.0设计实战|B端表单这样设计,不仅美观还提效
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:大喜 相关文章:袋鼠云出品!数栈UI 5.0全新体验升级, ...
- cf1453F 二维DP 思维
cf1453F 二维DP 思维 原题链接 题意 目前我们有一个序列,在第i个点可以走到[i + 1, i + a[i]]区间内的任意一点(也就是说如果a[i]是0,路就走不通了) 现在要求我们将一些位 ...
- 《语义增强可编程知识图谱SPG》白皮书
语义増强可编程图谱框架:新一代知识图谱语义框架/引擎.SPG+LLM双驱架构及应用相关进展和应用.<语义增强可编程知识图谱SPG>白皮书 v1.0.pdf: https://url39.c ...
- 如何通过Python将JSON格式文件导入redis?
摘要:如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务. 本文分享自华为云社区<Python将JSON格式文件导入 redis,多种方法>,作者: ...
- 18篇文章系统解读:中台规划如何撬动企业IT基础设施转型升级
摘要:通过这个系列,让大家对中台的价值.针对的问题痛点.中台规划的方法思路和技巧.一些中台业务实践有个基本的认识,让客户清楚的意识到企业中台的业务价值,进而通过企业中台规划牵引客户IT基础设施投资. ...
- KubeEdge和Kuiper“双剑合并”,轻松解决边缘流式数据处理
摘要:KubeEdge 是一个开源的边缘计算平台,它在Kubernetes原生的容器编排和调度能力之上,扩展实现了 云边协同.计算下沉.海量边缘设备管理.边缘自治等能力.KubeEdge还将通过插件的 ...
- 教你用Python 编写 Hadoop MapReduce 程序
摘要:Hadoop Streaming 使用 MapReduce 框架,该框架可用于编写应用程序来处理海量数据. 本文分享自华为云社区<Hadoop Streaming:用 Python 编写 ...
- 一文带你从零认识什么是XLA
摘要:简要介绍XLA的工作原理以及它在 Pytorch下的使用. 本文分享自华为云社区<XLA优化原理简介>,作者: 拓荒者01. 初识XLA XLA的全称是Accelerated Lin ...
- 买家手册:企业在选择 SBOM 供应商时需要注意什么?
Apache Log4j 和 Log4Shell 两大事件的发生,将软件物料清单(Software Bill of Materials, SBOM)推向安全防护前沿,成为企业保护其软件供应链的方式之一 ...
- 火山引擎A/B测试在消费行业的案例实践
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎数智平台举办了"走进火山-全链路增长:数据飞轮转动消费新生力"的活动,其中火山引 ...