只有一个sys租户,是否system_memory 设置等于memory_limit

【 使用环境 】测试环境
【 OB or 其他组件 】4.3.0.1
【 使用版本 】
【问题描述】只有一个sys租户,想做个测试。使用的myloader加载sql数据,有点慢,内存是80G,一台机器,如何设置system_memory和memory_limit ,这两个值能设置成相等吗,附件的参数哪些可以调优的
【复现路径】问题出现前后相关操作
【附件及日志】下面是参数值
oceanbase-ce:
servers:

  • 127.0.0.1
    global:
    home_path: /data/data/oceanbase-ce
    cluster_id: 1715159113
    enable_syslog_recycle: true
    enable_syslog_wf: false
    max_syslog_file_count: 4
    memory_limit: 69440M
    production_mode: false
    __min_full_resource_pool_memory: 1073741824
    system_memory: 6924M
    cpu_count: 16
    datafile_size: 21480M
    datafile_maxsize: 4192000M
    datafile_next: 21480M
    log_disk_size: 285360M
    #enable_password_auth: false
    root_password: E0QIJt7RE2z0sxvtvyJZ
    #root_password: Chin@i23$5oKM
    ocp_agent_monitor_password: al317m66IU
    proxyro_password: belI1SpJsU
1 个赞

不能,system_memory指的是系统内部内存,不是sys租户的内存,要把所有内存都分给sys租户的话,调整sys租户的unit规格就行了

1 个赞

  1. system_memory 会从 memory_limit 中分配,剩余的才是 sys 租户和业务租户可用的内存。
    这里你的 memory_limit 只有 6924M,那 system_memory 就小一点,设置为 1024M 。
  2. sys 租户不要放业务数据,最终你还需要一个业务租户。
5 个赞
  1. system_memory取值计算方式:
    1)16G<=memory_limit <=32G,system_memory=3-5G
    2)32G<=memory_limit <=64G,system_memory=5-10G
    3)memory_limit >64G,system_memory=取整数部分(3 *(memory_limit的平方根-3G))
  2. system_memory和sys租户没关系,sys租户是OB部署完成由系统自建的自适应资源租户,租户ID为1,而system_memory对应的租户ID为500。
2 个赞

请问下,myloader批量加载数据时,一般有什么办法或者设置什么参数提高加载速度,因为拿的mysql的导出的sql数据加载,不适合其他工具。80G的服务器内存,memory limit一般可以设置多大呢,感觉比原生mysql的加载要慢点

1 个赞

你可以用 --load-data参数导出 增加线程参数
导入的时候增加线程在用load-data的方式应该比insert的提交打方式 快很多

1 个赞

导出包是mysql的,都已经是sql模式了,load-data是不是只能用文本格式加载。如果是sql批量加载,数据库层面有啥参数可以优化提升效率不?多谢

1 个赞

这个目前没有 具体的优化方案

1 个赞

为何使用sys租户做测试呢,这就好比在mysql的mysql database下测试,建议单独创建一个租户

1 个赞