matrix-synapse 实例如果运行时间长了,可以使用 synapse_auto_compressor 对消息进行整合压缩,以节省磁盘占用同时提高性能。
步骤一:安装 rust 编译环境
按照 rust 官网的安装说明 在运行 matrix-synapse 那台主机上安装 rust 编译环境。
为了避免 glibc 版本不一致造成的运行故障,除非你本地机器与服务器机器系统版本完全一致,否则不建议本地编译。
步骤二:编译 synapse_auto_compressor
git clone https://github.com/matrix-org/rust-synapse-compress-state.git cd rust-synapse-compress-state/synapse_auto_compressor cargo build
步骤三:运行 synapse_auto_compressor
运行命令前,最好关闭 matrix-synapse 服务。
cd ../target/debug/ ./synapse_auto_compressor -p postgresql://synapse_user:password@localhost/synapse -c 1000 -n 10000000
步骤四:运行 VACUUM 命令
运行 VACUUM 命定释放磁盘空间,为达最佳效果可加 --full
参数,不过 --full
参数需锁表,因此需关闭相关服务。
运行效果:
磁盘空间:
运行前
运行后