summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorartem-trof <[email protected]>2023-05-11 16:29:13 +0300
committerartem-trof <[email protected]>2023-05-11 16:29:13 +0300
commit796f894c3b303a63e67434f8f125f9b713fc7ee5 (patch)
tree2ce6aa917a2eb5fc29695d507eb9ae08c6a953ec
parent7a6a4d68061a14152b059343125597cba7b32ecb (diff)
PR from branch users/artem-trof/
tune cpu & add shared cache add taskset support update service starter scripts reformat config
-rwxr-xr-xydb/deploy/packages/ydb-server/ydb-server-mt-starter.sh9
-rwxr-xr-xydb/deploy/packages/ydb-server/ydb-server-mt-tenant-start.sh27
2 files changed, 22 insertions, 14 deletions
diff --git a/ydb/deploy/packages/ydb-server/ydb-server-mt-starter.sh b/ydb/deploy/packages/ydb-server/ydb-server-mt-starter.sh
index 8dbc75f4c0b..d27f4a51cda 100755
--- a/ydb/deploy/packages/ydb-server/ydb-server-mt-starter.sh
+++ b/ydb/deploy/packages/ydb-server/ydb-server-mt-starter.sh
@@ -1,13 +1,8 @@
#!/bin/bash
set -e
-tenants=$(
- find "$YDBD_SERVICE_TENANTS_DIR" \
- -maxdepth 1 \
- -mindepth 1 \
- -type d \
- -exec basename {} \;
-)
+ydbd_service_tenants_config="$YDBD_SERVICE_TENANTS_DIR/config.json"
+tenants=$(jq -r '. | keys | join("\n")' "$ydbd_service_tenants_config")
for tenant in $tenants; do
systemctl start "ydb-server-mt-tenant@$tenant"
diff --git a/ydb/deploy/packages/ydb-server/ydb-server-mt-tenant-start.sh b/ydb/deploy/packages/ydb-server/ydb-server-mt-tenant-start.sh
index 8b95b3fcd71..84323822505 100755
--- a/ydb/deploy/packages/ydb-server/ydb-server-mt-tenant-start.sh
+++ b/ydb/deploy/packages/ydb-server/ydb-server-mt-tenant-start.sh
@@ -1,19 +1,25 @@
#!/bin/bash
set -e
-ydbd_service_tenant_config="$YDBD_SERVICE_TENANT_DIR/config.json"
+ydbd_service_tenants_config="$YDBD_SERVICE_TENANTS_DIR/config.json"
ydbd_service_syslog_tag="ydbd_$YDBD_SERVICE_TENANT"
-if [ ! -f "$ydbd_service_tenant_config" ]; then
- logger -p daemon.err -t "$ydbd_service_syslog_tag" "No YDB tenant ($YDBD_SERVICE_TENANT) configuration file at: $ydbd_service_tenant_config"
+if [ ! -f "$ydbd_service_tenants_config" ]; then
+ logger -p daemon.err -t "$ydbd_service_syslog_tag" "No YDB tenant ($YDBD_SERVICE_TENANT) configuration file at: $ydbd_service_tenants_config"
exit 1
fi
read_config_value() {
field=$1
- value=$(jq -r ".$field | select(.!=null)" "$ydbd_service_tenant_config")
-
- if [ -z "$value" ]; then
+ value=$(
+ jq \
+ --arg tenant $YDBD_SERVICE_TENANT \
+ --arg field $field \
+ -r \
+ '.[$key][$field]' "$ydbd_service_tenants_config"
+ )
+
+ if [ "$value" == "null" ]; then
logger -p daemon.err -t "$ydbd_service_syslog_tag" "Required field $field not exists in config"
return 2
fi
@@ -32,7 +38,14 @@ ydbd_service_ic_port=$(read_config_value ic_port) || exit 2
ydbd_service_mon_port=$(read_config_value mon_port) || exit 2
ydbd_service_database=$(read_config_value database) || exit 2
-exec "$YDBD_SERVICE_MAIN_DIR/bin/ydbd" server \
+taskset=""
+ydbd_service_taskset=$(read_config_value taskset) || exit 2
+
+if [ -n "$ydbd_service_taskset" ]; then
+ taskset="taskset -c $ydbd_service_taskset"
+fi
+
+exec $taskset "$YDBD_SERVICE_MAIN_DIR/bin/ydbd" server \
--yaml-config "$YDBD_SERVICE_MAIN_DIR/cfg/config-mt.yaml" \
--log-level 3 \
--syslog \