make net_thread_count adaptive
This commit is contained in:
@ -56,7 +56,11 @@ int ObSrvNetworkFrame::init()
|
|||||||
const char* mysql_unix_path = "unix:run/mysql.sock";
|
const char* mysql_unix_path = "unix:run/mysql.sock";
|
||||||
const uint32_t rpc_port = static_cast<uint32_t>(GCONF.rpc_port);
|
const uint32_t rpc_port = static_cast<uint32_t>(GCONF.rpc_port);
|
||||||
ObNetOptions opts;
|
ObNetOptions opts;
|
||||||
const int io_cnt = static_cast<int>(GCONF.net_thread_count);
|
int io_cnt = static_cast<int>(GCONF.net_thread_count);
|
||||||
|
// make net thread count adaptive
|
||||||
|
if (0 == io_cnt) {
|
||||||
|
io_cnt = max(6, get_cpu_num() / 8);
|
||||||
|
}
|
||||||
const int hp_io_cnt = static_cast<int>(GCONF.high_priority_net_thread_count);
|
const int hp_io_cnt = static_cast<int>(GCONF.high_priority_net_thread_count);
|
||||||
const bool use_easy_ma = hp_io_cnt > 0;
|
const bool use_easy_ma = hp_io_cnt > 0;
|
||||||
opts.rpc_io_cnt_ = io_cnt;
|
opts.rpc_io_cnt_ = io_cnt;
|
||||||
|
|||||||
@ -59,8 +59,8 @@ DEF_TIME(internal_sql_execute_timeout, OB_CLUSTER_PARAMETER, "30s", "[1000us, 10
|
|||||||
"the number of microseconds an internal DML request is permitted to "
|
"the number of microseconds an internal DML request is permitted to "
|
||||||
"execute before it is terminated. Range: [1000us, 10m]",
|
"execute before it is terminated. Range: [1000us, 10m]",
|
||||||
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
|
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
|
||||||
DEF_INT(net_thread_count, OB_CLUSTER_PARAMETER, "12", "[1,100]",
|
DEF_INT(net_thread_count, OB_CLUSTER_PARAMETER, "0", "[0,128]",
|
||||||
"the number of rpc/mysql I/O threads for Libeasy. Range: [1, 100] in integer",
|
"the number of rpc/mysql I/O threads for Libeasy. Range: [0, 128] in integer, 0 stands for max(6, CPU_NUM/8)",
|
||||||
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::STATIC_EFFECTIVE));
|
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::STATIC_EFFECTIVE));
|
||||||
DEF_INT(high_priority_net_thread_count, OB_CLUSTER_PARAMETER, "0", "[0,100]",
|
DEF_INT(high_priority_net_thread_count, OB_CLUSTER_PARAMETER, "0", "[0,100]",
|
||||||
"the number of rpc I/O threads for high priority messages, 0 means set off. Range: [0, 100] in integer",
|
"the number of rpc I/O threads for high priority messages, 0 means set off. Range: [0, 100] in integer",
|
||||||
|
|||||||
Reference in New Issue
Block a user