打卡打卡!顺便问个最近工作上的问题,看看小伙伴有思路吗?

4台不同地区的服务器,其中一台io写入速率120mb/s,其他都不超50mb/s。
io消耗最高的那台慢日志有超一半的insert语句,时间超1s所以都被记录下来了,但执行时间都在1~2s之间。不是大事务和ddl操作影响的。

小伙伴们有优化思路吗?

insert已经是批量插入了, bulk_insert_buffer_size是8m,调大点会有效果吗

2 个赞

120mb/s也不会很高吧

2 个赞

那是数据活着请求分布不均?这台IO写入高的机器要么就是大事务SQL要么就是请求是其他机器的两倍

3 个赞

哈哈,但凡怀疑有问题,先用诊断工具obdiag 来一波巡检,


obdiag check \
    --config db_host=xx.xx.xx.xx \
    --config db_port=xxxx \
    --config tenant_sys.user=root@sys \
    --config tenant_sys.password=*** \
    --config obcluster.servers.global.ssh_username=test \
    --config obcluster.servers.global.ssh_password=****** \
    --config obcluster.servers.global.home_path=/home/admin/oceanbase
    --config obcluster.servers.nodes[1].data_dir=/home/admin/oceanbase/store
    --config obcluster.servers.nodes[1].redo_dir=/home/admin/oceanbase/store
    --config obproxy.servers.nodes[0].ip=xx.xx.xx.1 \
    --config obproxy.servers.nodes[1].ip=xx.xx.xx.xx.2 \
    --config obproxy.servers.global.ssh_username=test \
    --config obproxy.servers.global.ssh_password=****** \
    --config obproxy.servers.global.home_path=/home/admin/obproxy

文档:https://www.oceanbase.com/docs/common-obdiag-cn-1000000001326848

6 个赞

后续排查发现写入量大的服务器,每小时执行的sql比其他地区的多30%~50%,不知道增加写缓冲区有没有用,insert都是顺序插入,一般不会慢才对,看慢日志,lock_time也很低,0.0000几秒。

2 个赞

多30%~50%的SQL差不多能解释,可以按照靖顺老师说先用obdiag收集更多的信息看看 :joy:

2 个赞

打卡攒积分

很强 :+1:

遇事不决,就找obdiag :beer: :beer: