1. 引言

Postmark是由著名的NAS提供商NetApp开发,用来测试其产品的后端存储性能。

Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是:需要频繁、大量地存取小文件。

Postmark的测试原理是创建一个测试文件池。文件的数量和最大、最小长度可以设定,数据总量是一定的。创建完成后,Postmark对文件池进行一系列的事务(transaction)操作,根据从实际应用中统计的结果,设定每一个事务包括一次创建或删除操作和一次读或添加操作,在有些情况下,文件系统的缓存策略可能对性能造成影响,Postmark可以通过对创建/删除以及读/添加操作的比例进行修改来抵消这种影响。事务操作进行完毕后,Post对文件池进行删除操作,并结束测试,输出结果。

Postmark是用随机数来产生所操作文件的序号,从而使测试更加贴近于现实应用。

输出结果中比较重要的输出数据包括测试总时间、每秒钟平均完成的事务数、在事务处理中平均每秒创建和删除的文件数,以及读和写的平均传输速度。

2. Postmark使用方法(两种):

2.1 使用配置文件

配置文件方式,是将所有配置命令及run放入文件中,由postmark自动读取

配置文件示例:

    1. set size 10000 50000
      1. set transactions 5000
        1. set number 5000
          1. run
            1. quit
          1.  

          运行

          1. ./postmark XXX.cfg

          2.2 命令行模式

          1. ./postmark

          进入命令行模式,然后打入相应命令,进行配置,run命令按当前配置运行postmark

          将上面配置文件中的命令在命令行中依次执行,结果是相同的,没有任何区别

          例如:

            1. [root@msns719 pm-test]# ./postmark-1.51
              1. PostMark v1.51 : 8/14/01
                1. pm>set size 10000 20000
                  1. pm>set number 1000
                    1. pm>set transactions 50000
                      1. pm>run
                    1.  

                    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如下:

                      1. set location /mnt/testaudit/pm-test
                        1. set subdirectories 1
                          1. set size 10000 50000
                            1. set transactions 5000
                              1. set number 5000
                                1. run
                                  1. quit
                                1.  

                                运行

                                  1. [root@RedHat postmark]# ./postmark pm.cfg
                                    1. PostMark v1.5 : 3/27/01
                                      1. Reading configuration from file 'pm.cfg'
                                        1. Creating files...Done
                                          1. Performing transactions..........Done
                                            1. Deleting files...Done
                                              1. Time:
                                                1.         39 seconds total
                                                  1.         16 seconds of transactions (312 per second)
                                                      1. Files:
                                                        1.         7455 created (191 per second)
                                                          1.                 Creation alone: 5000 files (500 per second)
                                                            1.                 Mixed with transactions: 2455 files (153 per second)
                                                              1.         2553 read (159 per second)
                                                                1.         2447 appended (152 per second)
                                                                  1.         7455 deleted (191 per second)
                                                                    1.                 Deletion alone: 4910 files (377 per second)
                                                                      1.                 Mixed with transactions: 2545 files (159 per second)
                                                                          1. Data:
                                                                            1.         77.04 megabytes read (1.98 megabytes per second)
                                                                              1.         234.28 megabytes written (6.01 megabytes per second)
                                                                                1. [root@RedHat postmark]#
                                                                              1.  

                                                                              此benchmark亦可修改为测试多线程的环境。

                                                                              1. </article>

                                                                              [转帖]Postmark - 存储性能测试工具的更多相关文章

                                                                              1. RGW/SWIFT对象存储性能测试工具--COSBench安装

                                                                                Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 https://github.com/intel-cloud/cos ...

                                                                              2. 云存储性能测试工具--COSBench安装

                                                                                COSBench安装 Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 1 环境 1.1 操作系统 COSBench可 ...

                                                                              3. Android性能测试工具(一)之Emmagee

                                                                                Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...

                                                                              4. 开源多线程性能测试工具-sysbench

                                                                                导读 sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文主要演示Mysql测试 ...

                                                                              5. Redis性能测试工具benchmark简介

                                                                                Redis自己提供了一个性能测试工具redis-benchmark.redis-benchmark可以模拟N个机器,同时发送M个请求. 用法:redis-benchmark [-h -h <ho ...

                                                                              6. python模块介绍- multi-mechanize 性能测试工具

                                                                                python模块介绍- multi-mechanize 性能测试工具 2013-09-13 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 3739 ...

                                                                              7. NoSQL性能测试工具YCSB-Running a Workload

                                                                                写在前面 目前,在系统设计中引入了越来越多的NoSQL产品,例如Redis/ MongoDB/ HBase等,其中性能指标往往会成为权衡不同NoSQL产品的关键因素.对这些产品在性能表现和产品选择上的 ...

                                                                              8. 性能测试工具Locust的使用

                                                                                一.写在前面 官网:https://www.locust.io/ 官方使用文档:https://docs.locust.io/en/latest/ 大并发量测试时,建议在linux系统下进行. 二.L ...

                                                                              9. 性能测试工具 wrk 使用教程

                                                                                文章首发自个人微信公众号:小哈学Java 个人网站地址:https://www.exception.site/wrk 被面试官经常问到之前开发的系统接口 QPS 能达到多少,经常给不出一个数值,支支吾 ...

                                                                              10. 数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具

                                                                                redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个 ...

                                                                              随机推荐

                                                                              1. 开发篇1:使用原生api和Langchain调用大模型

                                                                                对大模型的调用通常有以下几种方式:方式一.大模型厂商都会定义http风格的请求接口,在代码中可以直接发起http请求调用:方式二.在开发环境中使用大模型厂商提供的api:方式三.使用开发框架Langc ...

                                                                              2. C#/VB.NET 添加、删除PPT幻灯片中的数字签名

                                                                                本文介绍如何通过C#及VB.NET代码来添加数字签名到PPT幻灯片文档,以及如何将文档中的数字签名删除. 辅助工具: Spire.Presentation.dll (dll版本为5.11.2) 注意: ...

                                                                              3. 第十一部分_Shell脚本之正则表达式

                                                                                正则表达式 1. 正则表达式是什么? 正则表达式(Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,是一种字符模式,用于在查找过程中匹配指定的 ...

                                                                              4. 华为云MVP付健权:从机械工程师到AI开发者的华丽转身

                                                                                摘要:谁说AI开发难,看一个机械工程师是如何转型成为AI工程师的. 付健权,华为云MVP,企业上云导师.软通动力,售前解决方案经理,为制造业讲解华为云产品,为客户提供上云和云上解决方案.为企业提供大数 ...

                                                                              5. 企业研发治理转型利器:华为云发布流水线服务CodeArts Pipeline

                                                                                摘要:2月27日,华为云正式发布流水线服务CodeArts Pipeline,旨在提升编排体验,开放插件平台,以及提供标准化的DevOps企业治理模型,将华为公司内的优秀研发实践赋能给伙伴和客户. 本 ...

                                                                              6. openGauss内核分析:查询重写

                                                                                摘要:查询重写优化既可以基于关系代数的理论进行优化,也可以基于启发式规则进行优化. 本文分享自华为云社区<openGauss内核分析(四):查询重写>,作者:酷哥. 查询重写 SQL语言是 ...

                                                                              7. 云小课丨SA基线检查:给云服务来一次全面“体检”

                                                                                摘要:随着企业上云进程的加快,由于云服务配置不合理.不合规等引发的安全风险与日俱增.如果没有加以重视并做及时的诊断处置,将会对企业云上业务带来巨大的安全隐患. 本文分享自华为云社区<云小课丨安全 ...

                                                                              8. gitblit 不使用远程头像的方法

                                                                                gitblit 安装非常简单,使用也很方便,由于我初次使用,遇到一个小问题,头像加载不出来,很影响系统的速度,网上找了很久,终于找到了解决办法. 1.仓库分组:创建仓库设定名称时录入:groupNam ...

                                                                              9. Java SpringBoot Bean InitializingBean 项目初始化

                                                                                Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean.工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的ge ...

                                                                              10. 2018年蓝桥杯B组C/C++国赛题解

                                                                                1.换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换出 ...