Purge Large File Asynchronously
AliSQL支持通过异步删除大文件的方式保证系统稳定性。 背景信息
使用InnoDB引擎时,直接删除大文件会导致POSIX文件系统出现严重的稳定性问题,因此InnoDB会启动一个后台线程来异步清理数据文件。当删除单个表空间时,会将对应的数据文件先重命名为临时文件,然后清除线程将异步、缓慢地清理文件。
说明 AliSQL提供清除文件日志来保证DDL语句的原子性。 使用方法
查看实例全局变量设置,示例如下: mysql> SHOW GLOBAL VARIABLES LIKE '%data_file_purge%'; +----------------------------------------+-------+ | Variable_name | Value | +----------------------------------------+-------+ | innodb_data_file_purge | ON | | innodb_data_file_purge_all_at_shutdown | OFF | | innodb_data_file_purge_dir | | | innodb_data_file_purge_immediate | OFF | | innodb_data_file_purge_interval | 100 | | innodb_data_file_purge_max_size | 128 | | innodb_print_data_file_purge_process | OFF | +----------------------------------------+-------+ 参数说明如下。 参数 说明 innodb_data_file_purge 是否启用异步清除策略。 innodb_data_file_purge_all_at_shutdown 正常关机时全部清理。 innodb_data_file_purge_dir 临时文件目录。 innodb_data_file_purge_immediate 取消数据文件的链接但不清理。 innodb_data_file_purge_interval 清理时间间隔。单位:ms。 innodb_data_file_purge_max_size 每次清理单个文件大小的最大值。单位:MB。 innodb_print_data_file_purge_process 是否打印文件清理工作进程。 说明 建议使用如下命令进行设置: set global INNODB_DATA_FILE_PURGE = on; set global INNODB_DATA_FILE_PURGE_INTERVAL = 100; set global INNODB_DATA_FILE_PURGE_MAX_SIZE = 128; 使用如下命令查看清理进度: select * from information_schema.innodb_purge_files;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。