“分类:基准测试”的版本间的差异

来自Lustre文件系统
跳转至: 导航搜索
(创建页面,内容为“== 介绍 == 基准测试是一个复杂的问题,且在一定程度上是有争议的。各相关方之间就基准测试有一定的争论,不太可能就工…”)
 
 
(未显示同一用户的9个中间版本)
第1行: 第1行:
 
== 介绍 ==
 
== 介绍 ==
  
基准测试是一个复杂的问题,且在一定程度上是有争议的。各相关方之间就基准测试有一定的争论,不太可能就工具、方法、负载或可接受的结果达成任何有意义的一致意见。但是,他们都承认基准测试的必要性。
+
基准测试是一个复杂的问题,且在一定程度上具有争议。各相关方之间对基准测试的工具、方法、负载或可接受的结果存在分歧,不太可能达成任何有意义的统一意见。但是,他们都承认基准测试的必要性。
  
 
下面将介绍为建立Lustre文件系统及其支持基础架构的总体运行状况而进行的基准测试的概述。这些测试方法旨在运用基础架构(压力测试)来识别故障并建立基线性能,并不对其进行监控。
 
下面将介绍为建立Lustre文件系统及其支持基础架构的总体运行状况而进行的基准测试的概述。这些测试方法旨在运用基础架构(压力测试)来识别故障并建立基线性能,并不对其进行监控。
  
该基准测试的目标是确保系统能按照规范运行,并识别和消除系统缺陷。这几点是交付一个新系统,或者在服务等级协议(service level agreement, SLA)中或审计时,作为持续可靠性和性能测试部分的典型验收要求。
+
基准测试的目标是确保系统能按照规范运行,并识别和消除系统缺陷。这也是交付一个新系统,或者在服务等级协议(service level agreement, SLA)中或审计时,作为持续可靠性和性能测试部分的典型验收要求。
 
 
  
 
基线测量为用户在比较应用程序的性能或效率时提供了参考。
 
基线测量为用户在比较应用程序的性能或效率时提供了参考。
第14行: 第13行:
 
== 流程框架 ==
 
== 流程框架 ==
  
Benchmarking is, in principal, a reasonably straightforward endeavour: one runs a test, records a set of measurements and compares that to an established reference. The closer the measurements are to matching the reference, the better the result.
 
 
With Lustre, the typical goal is to deliver streaming IO performance in excess of 90% of the measured baseline performance of the underlying platform. Or put another way: 90%+ efficiency of the underlying system performance (for large-scale streaming IO workloads).
 
 
Lustre is a virtual file system running in software (albeit within the Linux kernel), so it depends upon the capabilities of the underlying platform: the hardware, the networking and the OS.
 
  
Therefore, in order to determine whether or not Lustre is capable of meeting a performance goal, one must determine the capabilities of the platform upon which Lustre is running. This is again conducted through benchmarking of the computers, storage and networking, comparing the results with the specifications provided by the vendors.
+
基准测试原则上是一项相当简单的工作: 运行一项测试,然后记录一组测量值,并将其与一个已建立的参考值进行比较。测量值与参考值越接近,结果越好。
  
A picture of Lustre health is built up in layers:
+
Lustre的典型目标是提供底层平台测量基准性能的90%以上的流式IO性能。或者换句话说:提供底层系统90%以上的性能(针对大规模流式IO的工作负载)。
  
基准测试原则上是一项相当简单的工作:一个人运行一个测试,记录一组测量值,并将其与一个已建立的参考值进行比较。测量值与参考值越接近,结果越好。
+
Lustre是一个运行在软件中的虚拟文件系统(尽管是在Linux内核中),因此它的性能取决于底层平台——硬件、网络和操作系统——的能力。
  
Lustre的典型目标是提供超过底层平台测量基准性能90%的流式输入输出性能。或者换句话说:底层系统性能的90%以上的效率(针对大规模流式输入输出工作负载)。
+
因此,为了确定Lustre是否能够达到性能目标,必须先确定运行Lustre的平台的能力。再通过对计算机、存储和网络进行基准测试,将结果与供应商提供的规格进行比较。
 
 
Lustre是一个运行在软件中的虚拟文件系统(尽管是在Linux内核中),因此它取决于底层平台的能力:硬件、网络和操作系统。
 
 
 
因此,为了确定Lustre是否能够达到性能目标,必须确定运行Lustre的平台的能力。再次通过对计算机、存储和网络进行基准测试,将结果与供应商提供的规格进行比较。
 
 
 
Lustre健康是按如下步骤分层构建的:
 
  
 +
Lustre健康是按如下框架分层构建的:
  
 
# 建立基础操作平台
 
# 建立基础操作平台
#* 物理集成、布线和电源
+
#* 物理集成、布线和供电
 
#* 固件更新
 
#* 固件更新
 
#* 存储配置
 
#* 存储配置
第48行: 第37行:
 
# 用户空间/应用基准
 
# 用户空间/应用基准
  
== Network ==
+
== 网络 ==
  
Establish a network performance baseline, independent of Lustre or LNet, using the tools relevant to the network technology itself. Once the baseline is established, and it is determined that the fabric is clean (and optionally, soft and fragrant), run the LNet benchmark, <code>lnet_selftest</code>.
+
使用基于网络技术的相关工具,建立独立于Lustre或LNet的网络性能基线。一旦基线建立,并且确定网络环境是安全的(可选的),则可使用<code>lnet_selftest</code>运行LNet基准测试。
  
This section will skip the basic connectivity testing, assuming that readers will have some existing familiarity with <code>traceroute</code>, <code>ping</code>, <code>ip {addr, link, route}</code>, and so on. All of the tools basically depend on being able to establish connections between hosts, as a fundamental pre-requisite. Diagnostics tools are also omitted, for the sake of brevity.
+
本节将跳过基本的连通性测试,并假设读者已经对<code>traceroute</code>, <code>ping</code>, <code>ip {addr, link, route}</code>等都有所了解。所有的工具基本上都依赖于能够在主机之间建立连接这一基本的先决条件。为了简洁起见,也省略了诊断工具。
  
The intention of these benchmarks is to establish a point-to-point performance baseline, and as such may not scale to very large clusters, at least not without some scripting to automate the process.
+
这些基准测试的目的是建立一个点对点的性能基线,因此可能无法扩展到非常大的集群,至少在没有一些脚本自动化该过程的情况下是如此。
  
=== Ethernet / TCP ===
+
=== 以太网 / TCP ===
  
The <code>netperf</code> utility provides comprehensive bandwidth and latency performance testing for TCP networks. The software is hosted on GitHub:
+
<code>netperf</code>实用程序为TCP网络提供了全面的带宽和延迟性能测试。该程序在GitHub上的地址:
  
 
https://github.com/HewlettPackard/netperf
 
https://github.com/HewlettPackard/netperf
  
Netperf has two components: a server daemon and a client. The server process acts as a target for the client to connect to.
+
Netperf有两个组件: 服务器守护进程和客户端。服务器进程是客户端将要连接的目标进程。
  
The server is invoked from the command line as follows:
+
可以从命令行访问服务器,如下所示:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第70行: 第59行:
 
</pre>
 
</pre>
  
The <code>netserver</code> process will return the port number it is running on, e.g. 12865.
+
<code>netserver</code>进程将返回它正运行在哪个端口上,例如12865。
  
Here are two simple examples of running the Netperf client:
+
以下是运行Netperf客户端的两个简单示例:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第82行: 第71行:
 
</pre>
 
</pre>
  
For example:
+
例如:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第92行: 第81行:
 
=== InfiniBand ===
 
=== InfiniBand ===
  
The simplest tools in the IB benchmarking arsenal are <code>ib_read_bw</code> and <code>ib_write_bw</code>, or <code>ib_send_bw</code>. They are distributed in the InfiniBand performance tools package and provide a simple ready reckoner of point to point performance.
+
IB基准测试库中最简单的工具是<code>ib_read_bw</code><code>ib_write_bw</code>, 或者<code>ib_send_bw</code>。它们随着InfiniBand性能工具包一起发布,提供了一个简单的点对点性能计算工具。
  
Each of the tools has similar command line options and are invoked in a similar manner. The tools have a receiver (server) and sender (client) mode.
+
每个工具都有相似的命令行参数,并以相似的方式调用。这些工具都有接收方(服务器)和发送方(客户端)两种模式。
  
For example, to start a server process:
+
例如,要启动一个服务器进程:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第102行: 第91行:
 
</pre>
 
</pre>
  
To run a client process:
+
要启动一个客户端进程:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第108行: 第97行:
 
</pre>
 
</pre>
  
There are more options available. Refer to the man page for more details.
+
关于更多参数的详细信息,请参考手册。
  
 
=== Omni-Path ===
 
=== Omni-Path ===
  
For Omni-Path fabrics, the <code>hfi1_pkt_test</code> command, which is part of the <code>hfi1-diagtools</code> package, is the easiest to operate. The command has server and client modes. Launch the server / receiver as follows:
+
对于Omni-Path结构的网络,<code>hfi1-diagtools</code>包中的<code>hfi1_pkt_test</code>命令是最容易使用的。该命令有服务器和客户端两种模式。按如下方式启动服务器/客户端进程:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第118行: 第107行:
 
</pre>
 
</pre>
  
The server invocation will output the LID and context that it is listening on.
+
启动服务器将输出该服务器正在监听的LID和相关内容(上下文)。
  
To run the client process:
+
要启动一个客户端进程:
  
 
<pre style="overflow-x:auto;">
 
<pre style="overflow-x:auto;">
第128行: 第117行:
 
=== LNet Selftest (lnet_selftest) ===
 
=== LNet Selftest (lnet_selftest) ===
  
LNet Selftest is a kernel module and application used to benchmark the performance of the Lustre Networking (LNet) protocol. A page dedicated to [[LNET_Selftest|LNet Selftest]] has been created: [[LNET_Selftest]]
+
LNet Selftest是一个内核模块和应用程序,用于对Lustre网络(LNet)协议的性能进行基准测试。有关[[LNET_Selftest|LNet Selftest]]的专门介绍请参考[[LNET_Selftest]]
  
== Storage Devices / LUNs ==
+
== 存储设备/单元 ==
  
Benchmarking the individual storage devices for an installation is recommended, although the process can be daunting for very large installations. At the very least, consider benchmarking all of the LUNs that will ultimately be used to create the Lustre OSDs (MGT, MDTs, OSTs) before committing any permanent production data to the storage. This will help to identify early life defects, as well as establish the baseline performance of the storage subsystem.
+
虽然对于大规模的安装来说,对所有存储设备进行单个基准测试可能很繁琐的,但还是建议这样做。至少,在将任何需要永久保存的生产数据提交到存储之前,应该考虑对最终是用来创建Lustre OSDs(MGT, MDT, OST)的所有存储单元进行基准测试。这将有助于在早期识别生产缺陷,并建立存储子系统的基线性能。
  
Benchmarking the storage is critical, particularly as this is one of the most difficult components of the infrastructure to replace once the file system enters production. Intermittent faults, performance variation and slow-downs of individual devices can be difficult to isolate once a system is live.
+
对存储进行基准测试是至关重要的,特别是由于文件系统一旦投入生产,存储是基础架构中最难替换的组件之一。一旦系统启动,个别存储设备的间歇性故障、性能下降可能很难隔离处理。
  
 
=== VDBench ===
 
=== VDBench ===
  
VDBench is a mature and very capable application for storage benchmarking. VDBench is available for free from Oracle, although it may require a portion of your soul to acquire. Also, it is a Java application, which amounts to much the same thing. There is a page dedicated to VDBench: [[VDBench]]
+
VDBench是一个成熟的且非常有用的用于做存储基准测试的应用程序。VDBench可以从Oracle免费获取,尽管可能需要一些操作步骤。此外,它是一个Java应用程序,能在各个操作系统运行。有关VDBench的专门介绍请参考:[[VDBench]]
  
In addition to benchmarking low-level devices, VDBench can be used as a general file system benchmark as well. It is versatile and can simulate different types of application workloads.
+
除了对低级别的设备进行基准测试之外,VDBench还可以用于通用文件系统的基准测试。它功能多样,可以模拟不同类型的应用程序工作负载。
  
 
=== SGP_DD Survey (sgpdd-survey) ===
 
=== SGP_DD Survey (sgpdd-survey) ===
  
<code>sgpdd-survey</code> is an IO workload generator for benchmarking the performance of disk storage, generating large sequential IO workload on the target storage devices. It is a wrapper for the <code>sgp_dd</code> (SCSI Generic Parallel DD) command found in the SCSI device utilities (<code>sg3_utils</code>) package.
+
<code>sgpdd-survey</code>是一个IO工作负载生成器,用于对磁盘存储的性能进行基准测试,可在目标存储设备上生成大量连续的IO工作负载。它是SCSI设备工具包(<code>sg3_utils</code>)中的<code>sgp-dd</code>(SCSI Generic Parallel DD,SCSI通用并行DD)命令的包装器。
  
<code>sgpdd-survey</code> is part of the Lustre IO Kit package. There is a page dedicated to <code>sgpdd-survey</code>: [[SGPDD_Survey]]
+
<code>sgpdd-survey</code>是Lustre IO工具包的一部分。有关<code>sgpdd-survey</code>的专门介绍请参考: [[SGPDD_Survey]]
  
== OSS Benchmarking ==
+
== OSS 基准测试 ==
  
 
=== OBDFilter Survey (obdfilter-survey) ===
 
=== OBDFilter Survey (obdfilter-survey) ===
  
OBDFilter-Survey tests the performance of one or more OSTs by simulating client IO. Each OSS server in an installation is tested individually. The script is a wrapper around the <code>lctl</code> sub-command <code>test_brw</code>. OBDFilter-survey requires a functional Lustre file system, i.e. MGS and MDT running, target OSTs running. There are three modes of execution, <code>disk</code>, <code>network</code> and <code>netdisk</code>, but normally only the disk test is run. The other two are less reliable, and the network test in particular has been superseded by <code>lnet_selftest</code>.
+
OBDFilter-Survey通过模拟客户端IO来测试一个或多个主机的性能。安装中的每个OSS服务器都要单独测试。该脚本是<code>lctl</code>的子命令<code>test_brw</code>的包装器。OBDFilter-survey需要一个功能性的Lustre文件系统,即运行了MGS、MDT和目标OST。有三种执行模式: <code>disk</code>, <code>network</code> <code>netdisk</code>,但通常只运行disk模式的测试。另外两个可靠性较低,尤其是<code>network</code>模式已经被<code>lnet_selftest</code>取代。
  
<code>obdfilter-survey</code> is part of the Lustre IO Kit package. There is a page dedicated to <code>obdfilter-survey</code>: [[OBDFilter_Survey]]
+
<code>obdfilter-survey</code> 是Lustre IO工具包的一部分。有关<code>obdfilter-survey</code>的专门介绍请参考: [[OBDFilter_Survey]]
  
== MDS Benchmarking ==
+
== MDS 基准测试 ==
  
 
=== MDTest (mdtest) ===
 
=== MDTest (mdtest) ===
MDTest is an MPI-based application for evaluating the metadata performance of a file system and has been designed to test parallel file systems including Lustre.
 
  
The application runs on Lustre clients and requires a fully configured Lustre file system. <code>mdtest</code> should be run in parallel across several nodes in order to saturate the file system. The program can create directory trees or arbitrary depth and can be directed to create a mixture of work-loads, including file-only tests. One specifies how many threads per client to create and how many files or directories per thread.
+
MDTest是一个基于MPI的应用程序,用于评估文件系统的元数据性能,并能测试包括Lustre在内的并行文件系统。
 +
 
 +
MDTest在Lustre客户端上运行,需要完整配置的Lustre文件系统。<code>mdtest</code> 应该在几个节点上并行运行,以使文件系统达到饱和。该程序可以创建目录树或任意深度的路径,并且可以在引导下创建混合工作负载,包括file-only测试。还可以指定每个客户端要创建多少个线程,以及每个线程要创建多少个文件或目录。
  
An overview of the software is available here: [[MDTest]]
+
有关MDTest的概述请参考:[[MDTest]]
  
Note: MDTest is not a Lustre-specific benchmark and can be run on any POSIX-compliant file system. It does require a fully configured file system implementation in order to run; for Lustre this means the MDS service, OSSs and clients are installed, configured and running.
+
注意:MDTest不是Lustre特定的基准测试,它可以在任何符合POSIX的文件系统上运行。它需要完整配置的文件系统实现才能运行;对于Lustre来说,完整配置意味着安装、配置和运行了MDS服务、OSS和客户端。
  
== Application Benchmarking ==
+
== 应用程序的基准测试 ==
  
 
=== IOR ===
 
=== IOR ===
  
IOR is a commonly used file system benchmarking application particularly well-suited for evaluating the performance of parallel file systems. It is, in some ways, the equivalent of Linpack for high performance storage.
+
IOR是一个常用的文件系统基准测试应用程序,特别适合评估并行文件系统的性能。在某些方面,它相当于高性能存储的Linpack。
  
The application runs on Lustre clients and requires a fully configured Lustre file system, although it is not a Lustre-specific application. There is a description on using IOR here: [[IOR]]
+
IOR在Lustre客户端上运行,需要完整配置的Lustre文件系统,它也不是一个特定于Lustre的应用程序。有关如何使用IOR请参考:[[IOR]]
  
== Additional References ==
+
== 其他参考 ==
  
Highly recommended resource for reviewing Linux performance tools:
+
强烈推荐用于核查Linux性能工具的资源:
 
* http://www.brendangregg.com/linuxperf.html
 
* http://www.brendangregg.com/linuxperf.html

2019年12月3日 (二) 19:58的最新版本

介绍

基准测试是一个复杂的问题,且在一定程度上具有争议。各相关方之间对基准测试的工具、方法、负载或可接受的结果存在分歧,不太可能达成任何有意义的统一意见。但是,他们都承认基准测试的必要性。

下面将介绍为建立Lustre文件系统及其支持基础架构的总体运行状况而进行的基准测试的概述。这些测试方法旨在运用基础架构(压力测试)来识别故障并建立基线性能,并不对其进行监控。

基准测试的目标是确保系统能按照规范运行,并识别和消除系统缺陷。这也是交付一个新系统,或者在服务等级协议(service level agreement, SLA)中或审计时,作为持续可靠性和性能测试部分的典型验收要求。

基线测量为用户在比较应用程序的性能或效率时提供了参考。

基准测试还能发现环境中的潜在缺陷,例如,如果与已建立的参考相比,结果低于预期,或者根本没有返回结果。

流程框架

基准测试原则上是一项相当简单的工作: 运行一项测试,然后记录一组测量值,并将其与一个已建立的参考值进行比较。测量值与参考值越接近,结果越好。

Lustre的典型目标是提供底层平台测量基准性能的90%以上的流式IO性能。或者换句话说:提供底层系统90%以上的性能(针对大规模流式IO的工作负载)。

Lustre是一个运行在软件中的虚拟文件系统(尽管是在Linux内核中),因此它的性能取决于底层平台——硬件、网络和操作系统——的能力。

因此,为了确定Lustre是否能够达到性能目标,必须先确定运行Lustre的平台的能力。再通过对计算机、存储和网络进行基准测试,将结果与供应商提供的规格进行比较。

Lustre健康是按如下框架分层构建的:

  1. 建立基础操作平台
    • 物理集成、布线和供电
    • 固件更新
    • 存储配置
    • 操作系统安装和配置
    • 设备驱动的安装
    • 应用软件安装(包括Lustre)
  2. 对网络进行基准测试
  3. 对单个存储设备或逻辑单元(LUN)进行基准测试
  4. 对OSS服务器进行基准测试
  5. 对MDS服务器进行基准测试
  6. 用户空间/应用基准

网络

使用基于网络技术的相关工具,建立独立于Lustre或LNet的网络性能基线。一旦基线建立,并且确定网络环境是安全的(可选的),则可使用lnet_selftest运行LNet基准测试。

本节将跳过基本的连通性测试,并假设读者已经对traceroute, ping, ip {addr, link, route}等都有所了解。所有的工具基本上都依赖于能够在主机之间建立连接这一基本的先决条件。为了简洁起见,也省略了诊断工具。

这些基准测试的目的是建立一个点对点的性能基线,因此可能无法扩展到非常大的集群,至少在没有一些脚本自动化该过程的情况下是如此。

以太网 / TCP

netperf实用程序为TCP网络提供了全面的带宽和延迟性能测试。该程序在GitHub上的地址:

https://github.com/HewlettPackard/netperf

Netperf有两个组件: 服务器守护进程和客户端。服务器进程是客户端将要连接的目标进程。

可以从命令行访问服务器,如下所示:

netserver

netserver进程将返回它正运行在哪个端口上,例如12865。

以下是运行Netperf客户端的两个简单示例:

# Measure request / response (latency)
netperf -H <target IP addr> -p <remote port> -t TCP_RR -f B -l 60 -v 2

# Measure bulk transfer
netperf -H <target IP addr> -p <remote port> -t TCP_STREAM -f M -l 60 -v 2

例如:

netperf -H 10.73.2.22 -p 12865 -t TCP_RR -f B -l 60 -v 2

netperf -H 10.73.2.22 -p 12865 -t TCP_STREAM -f M -l 60 -v 2

InfiniBand

IB基准测试库中最简单的工具是ib_read_bwib_write_bw, 或者ib_send_bw。它们随着InfiniBand性能工具包一起发布,提供了一个简单的点对点性能计算工具。

每个工具都有相似的命令行参数,并以相似的方式调用。这些工具都有接收方(服务器)和发送方(客户端)两种模式。

例如,要启动一个服务器进程:

ib_read_bw [-F] [-d <hca dev>] [-i <ib port>]

要启动一个客户端进程:

ib_read_bw [-F] [-d <hca dev>] [-i <ib port>] <server>

关于更多参数的详细信息,请参考手册。

Omni-Path

对于Omni-Path结构的网络,hfi1-diagtools包中的hfi1_pkt_test命令是最容易使用的。该命令有服务器和客户端两种模式。按如下方式启动服务器/客户端进程:

hfi1_pkt_test -r

启动服务器将输出该服务器正在监听的LID和相关内容(上下文)。

要启动一个客户端进程:

hfi1_pkt_test -L <lid> -C <context>

LNet Selftest (lnet_selftest)

LNet Selftest是一个内核模块和应用程序,用于对Lustre网络(LNet)协议的性能进行基准测试。有关LNet Selftest的专门介绍请参考LNET_Selftest

存储设备/单元

虽然对于大规模的安装来说,对所有存储设备进行单个基准测试可能很繁琐的,但还是建议这样做。至少,在将任何需要永久保存的生产数据提交到存储之前,应该考虑对最终是用来创建Lustre OSDs(MGT, MDT, OST)的所有存储单元进行基准测试。这将有助于在早期识别生产缺陷,并建立存储子系统的基线性能。

对存储进行基准测试是至关重要的,特别是由于文件系统一旦投入生产,存储是基础架构中最难替换的组件之一。一旦系统启动,个别存储设备的间歇性故障、性能下降可能很难隔离处理。

VDBench

VDBench是一个成熟的且非常有用的用于做存储基准测试的应用程序。VDBench可以从Oracle免费获取,尽管可能需要一些操作步骤。此外,它是一个Java应用程序,能在各个操作系统运行。有关VDBench的专门介绍请参考:VDBench

除了对低级别的设备进行基准测试之外,VDBench还可以用于通用文件系统的基准测试。它功能多样,可以模拟不同类型的应用程序工作负载。

SGP_DD Survey (sgpdd-survey)

sgpdd-survey是一个IO工作负载生成器,用于对磁盘存储的性能进行基准测试,可在目标存储设备上生成大量连续的IO工作负载。它是SCSI设备工具包(sg3_utils)中的sgp-dd(SCSI Generic Parallel DD,SCSI通用并行DD)命令的包装器。

sgpdd-survey是Lustre IO工具包的一部分。有关sgpdd-survey的专门介绍请参考: SGPDD_Survey

OSS 基准测试

OBDFilter Survey (obdfilter-survey)

OBDFilter-Survey通过模拟客户端IO来测试一个或多个主机的性能。安装中的每个OSS服务器都要单独测试。该脚本是lctl的子命令test_brw的包装器。OBDFilter-survey需要一个功能性的Lustre文件系统,即运行了MGS、MDT和目标OST。有三种执行模式: disk, networknetdisk,但通常只运行disk模式的测试。另外两个可靠性较低,尤其是network模式已经被lnet_selftest取代。

obdfilter-survey 是Lustre IO工具包的一部分。有关obdfilter-survey的专门介绍请参考: OBDFilter_Survey

MDS 基准测试

MDTest (mdtest)

MDTest是一个基于MPI的应用程序,用于评估文件系统的元数据性能,并能测试包括Lustre在内的并行文件系统。

MDTest在Lustre客户端上运行,需要完整配置的Lustre文件系统。mdtest 应该在几个节点上并行运行,以使文件系统达到饱和。该程序可以创建目录树或任意深度的路径,并且可以在引导下创建混合工作负载,包括file-only测试。还可以指定每个客户端要创建多少个线程,以及每个线程要创建多少个文件或目录。

有关MDTest的概述请参考:MDTest

注意:MDTest不是Lustre特定的基准测试,它可以在任何符合POSIX的文件系统上运行。它需要完整配置的文件系统实现才能运行;对于Lustre来说,完整配置意味着安装、配置和运行了MDS服务、OSS和客户端。

应用程序的基准测试

IOR

IOR是一个常用的文件系统基准测试应用程序,特别适合评估并行文件系统的性能。在某些方面,它相当于高性能存储的Linpack。

IOR在Lustre客户端上运行,需要完整配置的Lustre文件系统,它也不是一个特定于Lustre的应用程序。有关如何使用IOR请参考:IOR

其他参考

强烈推荐用于核查Linux性能工具的资源: