zoukankan      html  css  js  c++  java
  • Postmark介绍

    一. 引言

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

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

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

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

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

     

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

    1、使用配置文件

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

    配置文件示例:

    set size 10000 50000

    set transactions 5000

    set number 5000

    run

    quit

    运行

    ./postmark XXX.cfg

     

    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

     

    三. 命令解析

    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

     

    四. 实例测试:

    配置文件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亦可修改为测试多线程的环境。

  • 相关阅读:
    2018.8.5 复习笔记
    C#抽象类与接口的区别【转】
    double转整数问题
    C++学习笔记
    BCG使用
    C++设计模式之工厂方法模式
    静态成员函数
    CTreeCtrl 控件使用总结
    WinAPI: ShellExecute
    C++ STL map使用
  • 原文地址:https://www.cnblogs.com/riskyer/p/3221816.html
Copyright © 2011-2022 走看看