数据压缩
概述
MinIO Server 支持压缩对象以减少磁盘使用量。 对象在写入磁盘前通过 PUT 操作进行压缩,在发送给客户端前通过 GET 操作进行解压缩。这使得压缩过程对客户端应用程序和服务完全透明。
根据数据类型的不同,压缩也可能提高整体吞吐量。 生产环境中每个可用CPU核心的写入吞吐量通常为每秒500MB或更高。 每个CPU核心的解压缩速度约为每秒1GB或更高。
为了获得最佳效果,请查阅 MinIO 的推荐的硬件配置或使用MinIO SUBNET直接与工程师合作分析压缩性能。
默认文件类型
数据压缩是一个全局选项,配置的设置适用于部署中的所有存储桶。 启用数据压缩后,默认会压缩以下类型的数据:
文件扩展名 |
Media (MIME) Types |
|---|---|
|
|
您可以通过指定所需的文件扩展名来控制哪些对象被压缩media (MIME) 类型.
现有对象不会被修改
启用、禁用或更新部署的压缩设置不会修改现有对象。 新对象将根据其创建时生效的设置进行压缩。
排除的文件类型
有些数据无法被有效压缩。 例如:视频、已经压缩的数据,或者小于4KiB的文件。 即使已在压缩配置中指定,MinIO也不会压缩常见的不可压缩文件类型。
这些类型的对象永远不会被压缩:
Object Type |
文件扩展名 |
Media (MIME) Type |
|---|---|---|
音频 |
|
|
视频 |
*.mp4*.mkv*.mov |
|
图像 |
*.jpg*.png*.gif |
|
7ZIP 压缩 |
|
|
BZIP2 压缩 |
|
|
GZIP 压缩 |
|
|
RAR 压缩 |
|
|
LZMA 压缩 |
|
|
ZIP 压缩 |
|
application/zipapplication-x-zip-compressed |
小于 4 KiB |
数据压缩与加密
MinIO 支持加密压缩对象,但不建议在未进行风险评估的情况下同时使用压缩和加密功能。 在为压缩对象启用加密前,请仔细评估您环境的安全需求。
看MinIO 透明数据压缩有关压缩与加密结合的更多信息。MinIO SUBNET用户可以使用登录并与我们的工程和安全团队合作,共同评审加密方案。
教程
启用数据压缩
要启用数据压缩,请使用mc admin config setto set thecompression密钥enable选项on.
以下为新对象启用压缩功能默认类型:
mc admin config set ALIAS compression enable=on
替换
ALIAS随着alias已配置的 MinIO 部署。
现有未压缩的对象不会被修改。 要配置压缩哪些扩展名和类型,请参阅配置要压缩的对象.
要查看当前的压缩设置:
mc admin config get ALIAS compression
禁用数据压缩
要禁用数据压缩,请使用mc admin config setto set thecompression密钥enable选项off:
以下禁用新对象的数据压缩:
mc admin config set ALIAS compression enable=off
替换
ALIAS随着alias已配置的 MinIO 部署。
现有压缩对象不会被修改。
配置要压缩的对象
通过指定所需的文件扩展名和媒体类型来配置要压缩的对象extensions or mime_types参数。
默认数据压缩配置会压缩以下类型的数据:
文件扩展名 |
Media (MIME) Types |
|---|---|
|
|
默认排除的扩展名和类型永远不会被压缩
有些对象无法被高效压缩。
MinIO 不会尝试压缩这些对象,即使它们被包含在extensions or mime_types参数。
请参阅排除的文件类型有关排除类型的列表。
以下部分介绍如何为所需的文件扩展名和媒体类型配置压缩。
压缩所有可压缩对象
压缩除以下对象外的所有对象默认排除类型, 使用mc admin config setto set thecompression密钥extensions和mime_types清空列表的选项:
mc admin config set ALIAS compression extensions= mime_types=
替换
ALIAS随着alias已配置的 MinIO 部署。
按文件扩展名压缩对象
要压缩具有特定文件扩展名的对象,请使用mc admin config set设置所需的文件扩展名在extensions论点。
以下命令压缩扩展名为.bin和.txt:
mc admin config set ALIAS compression extensions=".bin, .txt"
替换
ALIAS随着alias已配置的 MinIO 部署。
新的文件扩展名列表已替换之前的列表。
要添加或删除扩展名,请重复extensions要压缩的扩展程序完整列表命令。
以下添加.pdf添加到之前示例中的文件扩展名列表:
mc admin config set ALIAS compression extensions=".bin, .txt, .pdf"
替换
ALIAS随着alias已配置的 MinIO 部署。
按媒体类型压缩对象
要压缩特定媒体类型的对象,请使用mc admin config setto set thecompression密钥mime_types将选项转换为所需类型的列表。
以下示例压缩以下类型的文件application/json和image/bmp:
mc admin config set ALIAS compression mime_types="application/json, image/bmp"
替换
ALIAS随着alias已配置的 MinIO 部署。
新的媒体类型列表已替换之前的列表。
要添加或删除类型,请重复mime_types包含要压缩的完整类型列表的命令。
您可以使用*指定单个媒体类型的所有子类型。
以下命令添加所有text将以下子类型添加到上一个示例的列表中:
mc admin config set ALIAS compression mime_types="application/json, image/bmp, text/*"
替换
ALIAS随着alias已配置的 MinIO 部署。