diff options
author | artem-trof <[email protected]> | 2023-05-11 16:29:13 +0300 |
---|---|---|
committer | artem-trof <[email protected]> | 2023-05-11 16:29:13 +0300 |
commit | 796f894c3b303a63e67434f8f125f9b713fc7ee5 (patch) | |
tree | 2ce6aa917a2eb5fc29695d507eb9ae08c6a953ec | |
parent | 7a6a4d68061a14152b059343125597cba7b32ecb (diff) |
PR from branch users/artem-trof/
tune cpu & add shared cache
add taskset support
update service starter scripts
reformat config
-rwxr-xr-x | ydb/deploy/packages/ydb-server/ydb-server-mt-starter.sh | 9 | ||||
-rwxr-xr-x | ydb/deploy/packages/ydb-server/ydb-server-mt-tenant-start.sh | 27 |
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 \ |