proxy空间膨胀问题

麻烦问下 max_disk_size、max_table_size   这两个 参数修改后,影响怎样

 

 

如果整体/单个请求 临时表磁盘空间超过这两个参数限制  会中止业务请求  客户端会收到报错

 

额。。。。假如我设置成100G。前面有些语句占用磁盘到90G。后面如果有个sql,确实没法下推的,需要20G的空间,那这样还是只有报错,达到这个100G,然后自动清理?

 

是的 没法事先知道一个语句需要多大的临时表空间
1. 如果max_disk_size=100G
当临时表空间达到100个的时候
就会干掉占用临时表空间最大的40个请求
2. 如果max_table_size=4G
当某个请求的临时表空间占用超过4G时  就会干掉这个请求

 

不能SQL语句执行完,自动释放当前临时表数据吗?

 

SQL语句执行完  会自动释放当前临时表数据的

 

 

proxy不断膨胀怎么办

方案1,通过SQL优化,实现SQL的下推
优点,可解决根本问题
缺点,需要和业务确认,从程序侧修改业务逻辑

方案2,修改max_disk_size、max_table_size 限制网关嵌入式数据库最多占用的存储空间,以及单个表最大的存储空间。单位为G,类型为整数,模版默认值为1024,代码默认值为0,即不限制。此修改需要进行测试。

1). 如果max_disk_size=100G
当临时表空间达到100个的时候
就会干掉占用临时表空间最大的40个请求
2) 如果max_table_size=4G
当某个请求的临时表空间占用超过4G时 就会干掉这个请求
两条只要满足一项就会删的

优点,操作简单
缺点,可能中断业务sql

方案3,把proxy从系统盘迁到数据盘上
优点,操作简单
缺点,软连接没有相关的充分测试,可修改zk等信息实现

方案4,扩容磁盘可以么
优点,操作简单,低风险
缺点,可能不存在可扩容空间

方案5,迁移proxy机器
优点,能解决磁盘不够的根本问题
缺点,操作相对复杂,需要新机器,需要交付单、交付工程师现场操作

posted on 2022-01-26 17:06  千方百计  阅读(40)  评论(0编辑  收藏  举报

导航