On this page
mongoperf
在本页面
Synopsis
mongoperf是独立于 MongoDB 来检查磁盘 I/O 性能的 Util。
它对随机磁盘 I/O 的测试进行计时并显示结果。除 MongoDB 之外,任何情况下都可以使用mongoperf。 mmf true
模式是完全通用的。在这种模式下,它有点类似于bonnie++之类的工具(尽管 mongoperf 更简单)。
使用 JavaScript 文档为mongoperf指定选项。
从系统命令行运行mongoperf,而不是mongo shell。
Options
mongoperf
--help
`,` `-h`
- 返回有关 mongoperf 的选项和用法的信息。
<jsonconfig>
``
mongoperf < config
在此示例中,config
是包含类似于以下示例的 JSON 文档的文件名:
{
nThreads:<n>,
fileSizeMB:<n>,
sleepMicros:<n>,
mmf:<bool>,
r:<bool>,
w:<bool>,
recSizeKB:<n>,
syncDelay:<n>
}
有关每个字段的文档,请参见Configuration Fields部分。
Configuration Fields
mongoperf.
nThreads
- *类型:*整数。
默认值: 1
定义测试中将使用的mongoperf线程数。要使系统的存储系统饱和,您将需要多个线程。考虑将nThreads设置为16
。
mongoperf.
fileSizeMB
- *类型:*整数。
默认值: 1 兆字节(即 10242 字节)
测试文件大小。
mongoperf.
sleepMicros
- *类型:*整数。
默认值: 0
mongoperf将暂停指定的sleepMicros数除以nThreads。
mongoperf.
mmf
- *类型:*布尔值。
默认值: false
将mmf设置为true
以使用内存 Map 文件进行测试。
Generally:
当mmf为
false
时,mongoperf测试直接,物理,I/O,而不进行缓存。使用较大的文件大小来测试大量随机 I/O 负载,并避免 I/O 合并。当mmf是
true
时,mongoperf运行缓存系统的测试,并且可以使用普通文件系统缓存。在此模式下使用mmf可以测试具有内存 Map 文件的文件系统缓存行为。mongoperf.
r
- *类型:*布尔值。
默认值: false
将r设置为true
以执行读取作为测试的一部分。
mongoperf.
w
- *类型:*布尔值。
默认值: false
将w设置为true
以执行写操作,并将其作为测试的一部分。
mongoperf.
recSizeKB
- 2.4 版的新功能。
*类型:*整数。
默认值: 4 kb
每个写入操作的大小。
mongoperf.
syncDelay
- *类型:*整数。
默认值: 0
磁盘刷新之间的秒数。 mongoperf.syncDelay与_3 的--syncdelay类似。
syncDelay控制mongoperf多久执行一次用于测试的内存 Map 文件的异步磁盘刷新。默认情况下,mongod每 60 秒执行一次此操作。使用syncDelay测试此类型操作的基本系统性能。
默认值0
禁用此功能。
Use
mongoperf < jsonconfigfile
将jsonconfigfile
替换为mongoperf配置的路径。您也可以采用以下形式调用mongoperf:
echo "{nThreads:16,fileSizeMB:10000,r:true,w:true}" | mongoperf
在此操作中:
考虑使用iostat
,如以下示例中所述,以在测试期间监视 I/O 性能。
iostat -xtm 1