[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-grid5k] 68/73: update grafana dashboards, add option for ram moun
From: |
gnunet |
Subject: |
[taler-grid5k] 68/73: update grafana dashboards, add option for ram mount in db |
Date: |
Tue, 14 Dec 2021 15:10:50 +0100 |
This is an automated email from the git hooks/post-receive script.
marco-boss pushed a commit to branch master
in repository grid5k.
commit 8902748a5207121a66a69ba2b1d8761484381603
Author: Boss Marco <bossm8@bfh.ch>
AuthorDate: Sun Dec 12 15:43:17 2021 +0100
update grafana dashboards, add option for ram mount in db
---
additional/grafana/database.json | 10 +--
additional/grafana/load-statistics.json | 150 +++++++++++++++++++++++++++-----
additional/grafana/transactions.json | 34 ++++----
additional/plots/config.yaml | 1 +
experiment/env | 4 +
experiment/scripts/database.sh | 18 +++-
6 files changed, 169 insertions(+), 48 deletions(-)
diff --git a/additional/grafana/database.json b/additional/grafana/database.json
index eb488b0..b81c6d2 100644
--- a/additional/grafana/database.json
+++ b/additional/grafana/database.json
@@ -92,7 +92,7 @@
"gnetId": 6742,
"graphTooltip": 1,
"id": null,
- "iteration": 1639255444197,
+ "iteration": 1639300468278,
"links": [],
"liveNow": false,
"panels": [
@@ -1309,7 +1309,7 @@
"mode": "palette-classic"
},
"custom": {
- "axisLabel": "",
+ "axisLabel": "Serialization Errors / Second",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
@@ -1346,7 +1346,7 @@
}
]
},
- "unit": "SE/s"
+ "unit": "none"
},
"overrides": []
},
@@ -1515,7 +1515,7 @@
"match": "nan",
"result": {
"index": 0,
- "text": "0%"
+ "text": "-"
}
},
"type": "special"
@@ -3573,5 +3573,5 @@
"timezone": "",
"title": "Database",
"uid": "2FTtdeOnk",
- "version": 75
+ "version": 77
}
\ No newline at end of file
diff --git a/additional/grafana/load-statistics.json
b/additional/grafana/load-statistics.json
index 5e0f398..19157b1 100644
--- a/additional/grafana/load-statistics.json
+++ b/additional/grafana/load-statistics.json
@@ -146,6 +146,18 @@
"value": "percent"
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -172,9 +184,10 @@
{
"exemplar": true,
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
+ "instant": false,
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -188,7 +201,7 @@
}
],
"timeFrom": null,
- "title": "Requests vs CPU",
+ "title": " [Exchange] Requests vs CPU",
"type": "timeseries"
},
{
@@ -254,6 +267,18 @@
"value": "bps"
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -282,7 +307,7 @@
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -296,7 +321,7 @@
}
],
"timeFrom": null,
- "title": "Requests vs Network Traffic",
+ "title": "[Exchange] Requests vs Network Traffic",
"type": "timeseries"
},
{
@@ -375,6 +400,18 @@
"value": "percent"
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -402,7 +439,7 @@
"exemplar": true,
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -415,7 +452,7 @@
}
],
"timeFrom": null,
- "title": "Requests vs CPU",
+ "title": "[Database] Requests vs CPU",
"type": "timeseries"
},
{
@@ -481,6 +518,18 @@
"value": "bps"
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -509,7 +558,7 @@
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -523,7 +572,7 @@
}
],
"timeFrom": null,
- "title": "Requests vs Network Traffic",
+ "title": "[Database] Requests vs Network Traffic",
"type": "timeseries"
},
{
@@ -629,7 +678,7 @@
"expr": "nginx_http_requests_total{}",
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Total Requests",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -708,6 +757,18 @@
"value": "percentunit"
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -736,7 +797,7 @@
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -815,6 +876,18 @@
"value": "percentunit"
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -843,7 +916,7 @@
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -919,11 +992,11 @@
},
{
"id": "custom.axisLabel",
- "value": "Slow Queries"
+ "value": "Slow Queries / Second"
},
{
"id": "unit",
- "value": "SQ/s"
+ "value": "none"
},
{
"id": "custom.lineStyle",
@@ -932,6 +1005,18 @@
}
}
]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
+ }
+ ]
}
]
},
@@ -961,7 +1046,7 @@
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
"intervalFactor": 1,
- "legendFormat": "Requests per Second",
+ "legendFormat": "Requests",
"refId": "A"
},
{
@@ -1028,12 +1113,31 @@
{
"matcher": {
"id": "byName",
- "options": "Serialization Errors per second"
+ "options": "Serialization Errors"
},
"properties": [
{
- "id": "unit",
- "value": "SE/s"
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "custom.axisLabel",
+ "value": "Serialization Errors / Second"
+ },
+ {
+ "id": "unit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.axisLabel",
+ "value": "Requests / Second"
}
]
}
@@ -1063,7 +1167,7 @@
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"hide": false,
"interval": "",
- "legendFormat": "Requests per second",
+ "legendFormat": "Requests",
"refId": "B"
},
{
@@ -1071,7 +1175,7 @@
"expr": "sum (rate(taler_exchange_serialization_failures{}[1m]))",
"instant": false,
"interval": "",
- "legendFormat": "Serialization Errors per second",
+ "legendFormat": "Serialization Errors",
"refId": "A"
}
],
@@ -1140,11 +1244,11 @@
},
{
"id": "custom.axisLabel",
- "value": "Slow Queries"
+ "value": "Slow Queries / Second"
},
{
"id": "unit",
- "value": "SQ/s"
+ "value": "none"
},
{
"id": "custom.drawStyle",
@@ -1207,12 +1311,12 @@
"list": []
},
"time": {
- "from": "now-1h",
+ "from": "now-3h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Load Statistics",
"uid": "rkyhDAt7z",
- "version": 43
+ "version": 46
}
\ No newline at end of file
diff --git a/additional/grafana/transactions.json
b/additional/grafana/transactions.json
index 69099bd..c198116 100644
--- a/additional/grafana/transactions.json
+++ b/additional/grafana/transactions.json
@@ -832,7 +832,7 @@
"refId": "A"
}
],
- "title": "Total TPS ",
+ "title": "Current TPS ",
"transformations": [],
"type": "gauge"
},
@@ -890,7 +890,7 @@
"refId": "A"
}
],
- "title": "Total Withdrawals per Second ",
+ "title": "Withdrawals per Second ",
"transformations": [],
"type": "stat"
},
@@ -903,7 +903,7 @@
"mode": "palette-classic"
},
"custom": {
- "axisLabel": "",
+ "axisLabel": "TPS",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
@@ -955,7 +955,7 @@
},
"id": 34,
"interval": null,
- "maxDataPoints": 800,
+ "maxDataPoints": null,
"options": {
"legend": {
"calcs": [],
@@ -968,7 +968,7 @@
},
"targets": [
{
- "expr": "sum by (app) (count_over_time({app=\"taler_proxy\"} |~
\"s=200\" |~ \"(/withdraw|/deposit)\" | logfmt [5m])) / (5*60)",
+ "expr": "sum by (app) (count_over_time({app=\"taler_proxy\"} |~
\"s=200\" |~ \"(/withdraw|/deposit)\" | logfmt [2m])) / (2*60)",
"legendFormat": "TPS",
"refId": "A",
"resolution": 10
@@ -976,7 +976,7 @@
],
"timeFrom": null,
"timeShift": null,
- "title": "TPS over Time",
+ "title": "TPS History",
"type": "timeseries"
},
{
@@ -1033,7 +1033,7 @@
"refId": "A"
}
],
- "title": "Total Payments per Second",
+ "title": "Payments per Second",
"transformations": [],
"type": "stat"
},
@@ -1159,7 +1159,7 @@
"refId": "A"
}
],
- "title": "Total TPS (Grouped)",
+ "title": "Current TPS (Grouped)",
"type": "gauge"
},
{
@@ -1218,7 +1218,7 @@
"refId": "A"
}
],
- "title": "Total Withdrawals per Second",
+ "title": "Withdrawals per Second",
"transformations": [],
"type": "stat"
},
@@ -1231,7 +1231,7 @@
"mode": "palette-classic"
},
"custom": {
- "axisLabel": "",
+ "axisLabel": "TPS",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
@@ -1283,7 +1283,7 @@
},
"id": 26,
"interval": null,
- "maxDataPoints": 800,
+ "maxDataPoints": null,
"options": {
"legend": {
"calcs": [],
@@ -1296,7 +1296,7 @@
},
"targets": [
{
- "expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~
\"(/withdraw|/deposit)\" | logfmt [5m]))) / (5*60)",
+ "expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~
\"(/withdraw|/deposit)\" | logfmt [2m]))) / (2*60)",
"legendFormat": "TPS",
"refId": "A",
"resolution": 10
@@ -1304,7 +1304,7 @@
],
"timeFrom": null,
"timeShift": null,
- "title": "TPS over Time",
+ "title": "TPS History",
"type": "timeseries"
},
{
@@ -1361,7 +1361,7 @@
"refId": "A"
}
],
- "title": "Total Payments per Second",
+ "title": "Payments per Second",
"transformations": [],
"type": "stat"
},
@@ -1765,7 +1765,7 @@
"targets": [
{
"exemplar": true,
- "expr": "sum by (state)
(node_systemd_unit_state{name=~\"taler-exchange(.*)\"})",
+ "expr": "sum by (state)
(node_systemd_unit_state{name=~\"taler-exchange-httpd(.*).service\"})",
"interval": "",
"legendFormat": "{{state}}",
"refId": "A"
@@ -1786,12 +1786,12 @@
"list": []
},
"time": {
- "from": "now-1h",
+ "from": "now-3h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Transactions",
"uid": "83vvgKKnk",
- "version": 76
+ "version": 81
}
\ No newline at end of file
diff --git a/additional/plots/config.yaml b/additional/plots/config.yaml
index 9d44a96..cfb6ee8 100644
--- a/additional/plots/config.yaml
+++ b/additional/plots/config.yaml
@@ -9,6 +9,7 @@ grafana:
dashboards:
- uid: 83vvgKKnk # Transacions
+ collapsed: true
- uid: 2FTtdeOnk # Database
variables: ['db', 'server']
- uid: MsjffzSZz # Proxy
diff --git a/experiment/env b/experiment/env
index 096683c..b6356bf 100644
--- a/experiment/env
+++ b/experiment/env
@@ -1,6 +1,10 @@
# Important node names, DO NOT Adjust unless you know
# what you are doing, it most certain needs adjustings
# in run.sh and other scripts since variable names depend on it.
+# Make sure to name all hosts with the following format in jFed:
+# 'Role'-N, add only 'Role' here, setup.sh will determine the rest.
+# Nodes listed here will be parsed and exported in
+# <ROLE>_HOSTS=<Grid5000-node[s]>
NODES="Bank DB DNS Exchange Merchant Monitor Proxy"
# DNS Zone to setup inside the grid for the experiment
diff --git a/experiment/scripts/database.sh b/experiment/scripts/database.sh
index 38aaecb..4b1c4eb 100755
--- a/experiment/scripts/database.sh
+++ b/experiment/scripts/database.sh
@@ -26,6 +26,17 @@ function setup_disks() {
fi
}
+function setup_ram_storage() {
+ SIZE=$(($(awk '/MemTotal/ {print $2}' /proc/meminfo) / 10))
+ if [ ! -L /var/lib/postgresql ]; then
+ mv /var/lib/postgresql /var/lib/postgresql.bak
+ mkdir /var/lib/postgresql
+ chown postgres:postgres /var/lib/postgresql
+ mount -t tmpfs -o size=${SIZE}k pgdata /var/lib/postgresql
+ cp -rp /var/lib/postgresql.bak/* /var/lib/postgresql
+ fi
+}
+
# Setup the postgresql configuration
function setup_config() {
sed -i "s\<DB_URL_HERE>\postgresql:///${DB_NAME}\g" \
@@ -99,10 +110,10 @@ function setup_config() {
# Increase work mem to lower I/O utilization (max used =~ work_mem *
max_connections)
# NOTE: This formula is not completely correct
- work_mem=512MB
+ work_mem=265MB
maintenance_work_mem=2GB
- # 2 min
- idle_in_transaction_session_timeout=120000
+ # 1 min
+ idle_in_transaction_session_timeout=60000
" > /etc/postgresql/13/main/exchange.conf
if ! grep -q "include = 'exchange.conf'" \
@@ -167,6 +178,7 @@ case ${1} in
init)
setup_config
#setup_disks
+ setup_ram_storage
init_db
setup_pgbouncer
restart_rsyslog
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-grid5k] 65/73: filter wallet getRecord messages - they spam the logs, (continued)
- [taler-grid5k] 65/73: filter wallet getRecord messages - they spam the logs, gnunet, 2021/12/14
- [taler-grid5k] 51/73: add auto explain - not tested yet, gnunet, 2021/12/14
- [taler-grid5k] 67/73: update dashboards, gnunet, 2021/12/14
- [taler-grid5k] 53/73: add more description about huge pages, gnunet, 2021/12/14
- [taler-grid5k] 71/73: remove unused rpecs and handled notes, gnunet, 2021/12/14
- [taler-grid5k] 69/73: update plotter script, gnunet, 2021/12/14
- [taler-grid5k] 72/73: add possibility to define grid5k repo branch for experiments, gnunet, 2021/12/14
- [taler-grid5k] 66/73: update dashboard exports, gnunet, 2021/12/14
- [taler-grid5k] 64/73: comment scripts and add help, gnunet, 2021/12/14
- [taler-grid5k] 73/73: scripts documented and commented, gnunet, 2021/12/14
- [taler-grid5k] 68/73: update grafana dashboards, add option for ram mount in db,
gnunet <=