本节以服务器的硬件最低配置为例,提供最小资源参数的参考配置。
服务器硬件最低配置
根据生产标准,服务器的最低参考配置如下表所示。
服务器配置项 | 描述 |
---|---|
服务器数量 | 3 台 |
CPU | 8 Core |
内存 | 64 GB |
磁盘 | 建议使用 SSD,内存大小的 4 倍以上(建议 1 TB) |
网卡 | 万兆互联及以上 |
操作系统 | Red Hat Enterprise Linux Server 7.2 版本(内核 Linux 3.10.0 版本及以上) |
文件系统 | 建议使用 EXT4 戓 XFS |
最大可使用内存
配置说明
memory_limit
参数可用于调整 OBServer 的最大可使用内存数。由于最低内存配置为 64 GB,预留部分给系统使用,则建议 OBServer 独占 58 GB,即系统租户内存与程序内存共 58 GB。
配置值
建议配置为 58G
。
配置方法
在集群启动时,通过指定启动配置项 memory_limit
进行设置。
系统租户内存
配置说明
根据建议的最低内存配置为 64 GB,且 OBServer 独占 58 GB,则系统租户的可使用内存需要配置为 4 GB。
配置值
建议配置为 4G
。
配置方法
执行以下命令进行配置。
obclient> ALTER RESOURCE UNIT sys_unit_config MEMORY_SIZE='4G';
复制
程序运行内存
配置说明
system_memory
参数用于配置租户 ID 为 500
的租户的内存,即程序运行内存。
配置值
建议配置为 22G
。
配置方法
在集群启动时,通过指定启动配置项 system_memory
进行设置。
单个线程执行栈内存
配置说明
stack_size
用于配置单个线程执行栈的内存。
配置值
建议配置为 1M
。对于追求内存最小化的环境,配置为 512K
也可以,但风险也会略有增加。
配置方法
在集群启动时,通过指定启动配置项 stack_size
进行设置。
Libeasy 可使用的最大内存
配置说明
__easy_memory_limit
参数可用于配置网络框架内存。
说明
由于
__xx_xx
格式的参数为隐藏参数,无法通过SHOW PARAMETERS
语句来查询,您可以通过以下 SQL 语句查看该参数。
obclient> SELECT * FROM oceanbase.__all_virtual_sys_parameter_stat WHERE name='__easy_memory_limit';
复制
配置值
建议配置为 4G
。
配置方法
在集群启动时,通过指定启动配置项 __easy_memory_limit
进行设置。
最大连接数
配置说明
_resource_limit_spec
中的 max_session_count
参数可用于配置最大连接数。
配置值
请根据实际情况配置,建议不超过 10000
。
配置方法
在集群启动时,通过指定启动配置项 _resource_limit_spec
来配置最大连接数,同时还需要开启资源限制检查(_enable_resource_limit_spec
),默认资源限制检查未开启。
最大请求并发数
配置说明
_resource_limit_spec
中的 max_concurrent_query_count
参数可用于配置最大请求并发数。
配置值
请根据实际情况配置,建议不超过 5000
。
配置方法
在集群启动时,通过指定启动配置项 _resource_limit_spec
来配置最大请求并发数,同时还需要开启资源限制检查(_enable_resource_limit_spec
),默认资源限制检查未开启。
工作线程数
配置说明
工作线程数主要由 cpu_count
与 workers_per_cpu_quota
参数共同决定。
配置值
cpu_count
:对于 64 GB 环境,不宜配置过大,建议配置为 16~32。workers_per_cpu_quota
:对于 64 GB 环境,建议配置为10
。
配置方法
在集群启动时,通过指定启动配置项 cpu_count
和 workers_per_cpu_quota
来设置。
参数配置示例
集群启动时,通过启动参数来设置相应配置项的示例如下:
[admin@hostname oceanbase]$./bin/observer -i eth0 -p 2881 -P 2882 -n test2 -z zone1 -d /home/admin/oceanbase/store/test2 -l info -o'rootservice_list=172.30.135.203:2882:2881,\ config_additional_dir=/data/1/test2/etc2,/data/1/test2/etc3,cluster_id=11,stack_size=1M,__easy_memory_limit=4G,\ cpu_count=16,\ workers_per_cpu_quota=10'
复制
其中:
-p
参数用于指定直连端口号。-P
参数用于指定 RPC 端口号。-n
参数用于指定集群名。-z
参数用于指定启动的 Zone。-d
参数用于指定数据的存储目录。-l
参数用于指定日志打印级别。-o
参数用于指定启动配置项。