1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vipshop-vdl

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
flow_control.md 4.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 08:47 1556aaf

Руководство по управлению потоками VDL

1. Обзор

Управление потоками VDL делится на управление потоком записи, управление конечным потоком чтения и управление догоняющим потоком чтения. Каждый тип управления потоком делится на управление количеством запросов и управление объёмом потока (в байтах). С помощью vdlctl можно включить/выключить управление потоками VDL, а также установить соответствующие значения управления.

На текущем этапе объектом операции управления потоками vdlctl является процесс VDL. Поэтому на текущем этапе для настройки управления потоками кластера необходимо отдельно настроить каждый процесс VDL в кластере.

2. Просмотр настроек управления потоками

С помощью vdlctl вы можете просматривать настройки управления потоками процесса VDL.

./vdlctl rate list --endpoints=http://localhost:9000
 
Результат:
IsEnableRateQuota      : true    // комментарий: если открыто управление потоками, по умолчанию закрыто
WriteRequestRate       : 50000   // комментарий: контроль количества запросов на запись
WriteByteRate          : 5000000 // комментарий: управление потоком данных при записи в байтах
CatchupReadRequestRate : 10000   // комментарий: управление количеством догоняющих запросов на чтение
CatchupReadByteRate    : 500000  // комментарий: управление объёмом догоняющего потока чтения в байтах
EndReadRequestRate     : 1000    // комментарий: управление количеством конечных запросов на чтение
EndReadByteRate        : 524288000 // комментарий: управление конечным объёмом потока чтения в байтах

Среди них endpoint в команде — это listen-admin-url соответствующего процесса VDL, который нужно проверить.

3. Настройка управления потоками

Используя vdlctl, вы можете обновить настройки управления потоками для процесса VDL.

./vdlctl rate update EndReadRequestRate=1,IsEnableRateQuota=true,CatchupReadRequestRate=1 --endpoints=http://localhost:9000
 
Результат:
========Обновление Rate успешно! Обновлённая конфигурация========
IsEnableRateQuota      : true
WriteRequestRate       : 50000
WriteByteRate          : 5000000
CatchupReadRequestRate : 1
CatchupReadByteRate    : 500000
EndReadRequestRate     : 1
EndReadByteRate        : 524288000

В rate update можно обновить несколько параметров управления потоками одновременно. Как показано в примере выше, каждый параметр управления потоком разделяется запятой. VDL заранее проверит все параметры управления потоком. Если какой-либо из параметров управления потоком неверен, он сразу вернёт ошибку и не будет выполнять никаких обновлений. Например:

./vdlctl rate update EndReadRequestRate=1000,IsEnableRateQuota=true,CatchupReadRequestRatexxxx=1000 --endpoints=http://localhost:9000
 
Результат:
Error:  rpc error: code = Unknown desc = Cannot found any config for CatchupReadRequestRatexxxx
 
VDL не обновит параметры EndReadRequestRate и IsEnableRateQuota.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/vipshop-vdl.git
git@api.gitlife.ru:oschina-mirror/vipshop-vdl.git
oschina-mirror
vipshop-vdl
vipshop-vdl
master