mirror_zfs/cmd/zpool_influxdb/dashboards/grafana/ZFS-pool-latency-heatmaps-influxdb.json
Richard Elling e9527d44e6
Add zpool_influxdb command
A zpool_influxdb command is introduced to ease the collection
of zpool statistics into the InfluxDB time-series database.
Examples are given on how to integrate with the telegraf
statistics aggregator, a companion to influxdb.

Finally, a grafana dashboard template is included to show
how pool latency distributions can be visualized in a
ZFS + telegraf + influxdb  + grafana environment.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Richard Elling <Richard.Elling@RichardElling.com>
Closes #10786
2020-10-09 09:29:21 -07:00

1667 lines
38 KiB
JSON

{
"__inputs": [
{
"name": "DS_MACBOOK-INFLUX",
"label": "macbook-influx",
"description": "",
"type": "datasource",
"pluginId": "influxdb",
"pluginName": "InfluxDB"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "6.7.3"
},
{
"type": "panel",
"id": "heatmap",
"name": "Heatmap",
"version": ""
},
{
"type": "datasource",
"id": "influxdb",
"name": "InfluxDB",
"version": "1.0.0"
},
{
"type": "panel",
"id": "jdbranham-diagram-panel",
"name": "Diagram",
"version": "1.4.5"
},
{
"type": "panel",
"id": "text",
"name": "Text",
"version": ""
}
],
"annotations": {
"list": [
{
"$$hashKey": "object:1627",
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "Top-level ZFS pool latency by ZIO type",
"editable": true,
"gnetId": null,
"graphTooltip": 1,
"id": null,
"iteration": 1590445168391,
"links": [],
"panels": [
{
"collapsed": false,
"datasource": "${DS_MACBOOK-INFLUX}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 5,
"panels": [],
"title": "Total Reads and Writes",
"type": "row"
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the total reads of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 1
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 2,
"legend": {
"show": true
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"total_read"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Total Reads",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the total writes of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
"y": 1
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 3,
"legend": {
"show": true
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"total_write"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Total Writes",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"collapsed": false,
"datasource": "${DS_MACBOOK-INFLUX}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 10
},
"id": 8,
"panels": [],
"title": "ZIO Scheduler Queues for Read Operations",
"type": "row"
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the synchronous reads of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 0,
"y": 11
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 6,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"sync_read"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Sync Read Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the asynchronous reads of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 5,
"y": 11
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 9,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"async_read"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Async Read Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the scrub or scan reads of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 10,
"y": 11
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 10,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"scrub"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Scrub/Scan Read Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the actual disk reads of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 9,
"x": 15,
"y": 11
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 11,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"disk_read"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Disk Read Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"collapsed": false,
"datasource": "${DS_MACBOOK-INFLUX}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 19
},
"id": 13,
"panels": [],
"title": "ZIO Scheduler Queues for Write Operations",
"type": "row"
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the synchronous writes of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 0,
"y": 20
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 14,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"sync_write"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Sync Write Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the asynchronous writes of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 5,
"y": 20
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 15,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"async_write"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Async Write Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the trim or unmap operations of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 10,
"y": 20
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 16,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"trim"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Trim Write Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"cards": {
"cardPadding": null,
"cardRound": null
},
"color": {
"cardColor": "#b4ff00",
"colorScale": "sqrt",
"colorScheme": "interpolateOranges",
"exponent": 0.5,
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
"datasource": "${DS_MACBOOK-INFLUX}",
"description": "Latency histogram for the disk write operations of a ZFS pool",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 9,
"x": 15,
"y": 20
},
"heatmap": {},
"hideZeroBuckets": false,
"highlightCards": true,
"id": 17,
"legend": {
"show": false
},
"reverseYBuckets": false,
"targets": [
{
"alias": "$tag_le",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"le"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "zpool_latency",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"disk_write"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$hostname$/"
},
{
"condition": "AND",
"key": "name",
"operator": "=~",
"value": "/^$poolname$/"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Disk Write Queue",
"tooltip": {
"show": true,
"showHistogram": true
},
"type": "heatmap",
"xAxis": {
"show": true
},
"xBucketNumber": null,
"xBucketSize": null,
"yAxis": {
"decimals": 0,
"format": "s",
"logBase": 1,
"max": null,
"min": null,
"show": true,
"splitFactor": null
},
"yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
{
"collapsed": false,
"datasource": "${DS_MACBOOK-INFLUX}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 28
},
"id": 19,
"panels": [],
"title": "About",
"type": "row"
},
{
"content": "I/O requests that are satisfied by accessing pool devices are managed by the ZIO scheduler.\nThe total latency is measured from the start of the I/O to completion by the disk.\nLatency through each queue is shown prior to its submission to the disk queue.\n\nThis view is useful for observing the effects of tuning the ZIO scheduler min and max values\n(see zfs-module-parameters(5) and [ZFS on Linux Module Parameters](https://openzfs.github.io/openzfs-docs/Performance%20and%20tuning/ZFS%20on%20Linux%20Module%20Parameters.html)):\n+ *zfs_vdev_max_active* controls the ZIO scheduler's disk queue depth (do not confuse with the block device's nr_requests)\n+ *zfs_vdev_sync_read_min_active* and *zfs_vdev_sync_read_max_active* control the synchronous queue for reads: most reads are sync\n+ *zfs_vdev_sync_write_min_active* and *zfs_vdev_sync_write_max_active* control the synchronous queue for writes: \nusually metadata or user data depending on the \"sync\" property setting or I/Os that are requested to be flushed\n+ *zfs_vdev_async_read_min_active* and *zfs_vdev_async_read_max_active* control the asynchronous queue for reads: usually prefetches\n+ *zfs_vdev_async_write_min_active* and *zfs_vdev_async_write_max_active* control the asynchronous queue for writes: \nusually the bulk of all writes at transaction group (txg) commit\n+ *zfs_vdev_scrub_min_active* and *zfs_vdev_scrub_max_active* controls the scan reads: usually scrub or resilver\n\n",
"datasource": "${DS_MACBOOK-INFLUX}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 15,
"w": 16,
"x": 0,
"y": 29
},
"id": 21,
"mode": "markdown",
"targets": [
{
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"timeFrom": null,
"timeShift": null,
"title": "About ZFS Pool All Queues Read/Write Latency Histograms",
"type": "text"
},
{
"colors": [
"rgba(50, 172, 45, 0.97)",
"rgba(237, 129, 40, 0.89)",
"rgba(245, 54, 54, 0.9)"
],
"composites": [],
"content": "graph LR\nIO((I/O request)) --> SR(sync read queue)\nIO --> SW(sync write queue)\nIO --> AR(async read queue)\nIO --> AW(async write queue)\nIO --> SCRUB(scrub queue)\nIO --> TRIM(trim queue)\nSR --> DISKQ(disk queue)\nSW --> DISKQ\nAR --> DISKQ\nAW --> DISKQ\nSCRUB --> DISKQ\nTRIM --> DISKQ\nDISKQ --> DISK((disk))\n",
"datasource": "${DS_MACBOOK-INFLUX}",
"decimals": 2,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"format": "none",
"graphId": "diagram_23",
"gridPos": {
"h": 15,
"w": 7,
"x": 16,
"y": 29
},
"id": 23,
"init": {
"arrowMarkerAbsolute": true,
"cloneCssStyles": true,
"flowchart": {
"htmlLabels": true,
"useMaxWidth": true
},
"gantt": {
"barGap": 4,
"barHeight": 20,
"fontFamily": "\"Open-Sans\", \"sans-serif\"",
"fontSize": 11,
"gridLineStartPadding": 35,
"leftPadding": 75,
"numberSectionStyles": 3,
"titleTopMargin": 25,
"topPadding": 50
},
"logLevel": 3,
"securityLevel": "loose",
"sequence": {
"actorMargin": 50,
"bottomMarginAdj": 1,
"boxMargin": 10,
"boxTextMargin": 5,
"diagramMarginX": 50,
"diagramMarginY": 10,
"height": 65,
"messageMargin": 35,
"mirrorActors": true,
"noteMargin": 10,
"useMaxWidth": true,
"width": 150
},
"startOnLoad": false,
"theme": "dark"
},
"legend": {
"avg": true,
"current": true,
"gradient": {
"enabled": true,
"show": true
},
"max": true,
"min": true,
"show": false,
"total": true
},
"mappingType": 1,
"mappingTypes": [
{
"$$hashKey": "object:155",
"name": "value to text",
"value": 1
},
{
"$$hashKey": "object:156",
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"maxWidth": false,
"mermaidServiceUrl": "",
"metricCharacterReplacements": [],
"moddedSeriesVal": 0,
"mode": "content",
"nullPointMode": "connected",
"seriesOverrides": [],
"style": "",
"styleValues": {},
"targets": [
{
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": true,
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"themes": [
"default",
"dark",
"forest",
"neutral"
],
"thresholds": "0,10",
"timeFrom": null,
"timeShift": null,
"title": "Panel Title",
"type": "jdbranham-diagram-panel",
"valueMaps": [
{
"$$hashKey": "object:151",
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg",
"valueOptions": [
"avg",
"min",
"max",
"total",
"current"
]
}
],
"refresh": false,
"schemaVersion": 22,
"style": "dark",
"tags": [
"ZFS",
"Latency",
"Histogram"
],
"templating": {
"list": [
{
"allValue": null,
"current": {},
"datasource": "${DS_MACBOOK-INFLUX}",
"definition": "show tag values from \"zpool_latency\" with key = \"host\"",
"hide": 0,
"includeAll": false,
"index": -1,
"label": null,
"multi": false,
"name": "hostname",
"options": [],
"query": "show tag values from \"zpool_latency\" with key = \"host\"",
"refresh": 1,
"regex": "/([-a-zA-Z-0-9]+)/",
"skipUrlSync": false,
"sort": 5,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {},
"datasource": "${DS_MACBOOK-INFLUX}",
"definition": "show tag values from \"zpool_latency\" with key = \"name\" where \"host\" =~ /^$hostname/",
"hide": 0,
"includeAll": false,
"index": -1,
"label": null,
"multi": false,
"name": "poolname",
"options": [],
"query": "show tag values from \"zpool_latency\" with key = \"name\" where \"host\" =~ /^$hostname/",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 5,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "2020-05-25T21:34:30.137Z",
"to": "2020-05-25T21:39:54.445Z"
},
"timepicker": {
"refresh_intervals": [
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "ZFS Pool Latency Heatmaps Influxdb",
"uid": "TbB4-DkGz",
"variables": {
"list": []
},
"version": 2
}