[CP] increase default log_archive thread count for small tenant
This commit is contained in:
parent
ee1b331ab4
commit
6fea5404ff
@ -91,6 +91,7 @@ int ObArchiveScheduler::modify_thread_count_()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
int64_t archive_concurrency = 0;
|
||||
const int64_t MIN_ARCHIVE_THREAD_COUNT = 2L;
|
||||
omt::ObTenantConfigGuard tenant_config(TENANT_CONF(tenant_id_));
|
||||
const int64_t log_archive_concurrency =
|
||||
tenant_config.is_valid() ? tenant_config->log_archive_concurrency : 0L;
|
||||
@ -99,7 +100,7 @@ int ObArchiveScheduler::modify_thread_count_()
|
||||
if (0 == log_archive_concurrency) {
|
||||
const int64_t max_cpu = MTL_CPU_COUNT();
|
||||
if (max_cpu <= 8) {
|
||||
archive_concurrency = max_cpu;
|
||||
archive_concurrency = std::min(max_cpu * 2, 8L);
|
||||
} else if (max_cpu <= 32) {
|
||||
archive_concurrency = std::max(max_cpu / 2, 8L);
|
||||
} else {
|
||||
@ -108,8 +109,8 @@ int ObArchiveScheduler::modify_thread_count_()
|
||||
} else {
|
||||
archive_concurrency = log_archive_concurrency;
|
||||
}
|
||||
const int64_t fetcher_currency = std::max(1L, archive_concurrency / 3);
|
||||
const int64_t sender_concurrency = std::max(1L, archive_concurrency - fetcher_currency);
|
||||
const int64_t fetcher_currency = std::max(MIN_ARCHIVE_THREAD_COUNT, archive_concurrency / 3);
|
||||
const int64_t sender_concurrency = std::max(MIN_ARCHIVE_THREAD_COUNT, archive_concurrency - fetcher_currency);
|
||||
if (OB_FAIL(sender_->modify_thread_count(sender_concurrency))) {
|
||||
ARCHIVE_LOG(WARN, "modify sender thread failed", K(ret));
|
||||
} else if (OB_FAIL(fetcher_->modify_thread_count(fetcher_currency))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user