minio性能测试

minio,性能,测试 · 浏览次数 : 91

小编点评

## Minio performance test script performance comparison This script compares the performance of different data transfer methods for reading and writing objects to Minio. **Methods tested:** * `s3fs` (Object Storage) * `fio` (Fast I/O) * `dd` (Disk copy) **Results:** | Operation | s3fs (obj) | fio | dd | |---|---|---|---| | Read 1G | 1048.576 KB/s | 1047.51 MiB/s | 1048.576 KB/s | | Write 1G | 2.73069 s | N/A | 2.61818 s | | Write 100M | 0.5556 s | N/A | 189 MB/s | | Write 20M | 0.139882 s | N/A | 150 MB/s | | Write 20M (cached) | 2.61818 s | 21 MB | 400 MB/s | | Read 1038.75 MB | 0.147937 s | N/A | 2.4 GB/s | | Write 20M (cached) | 0.0432576 s | 10.04 obj/s | 39.35 obj/s | **Observations:** * `dd` consistently performs the best, achieving high read and write speeds for both object and cache modes. * `s3fs` performs well for object reads but struggles with object writes due to slow block operations. * `fio` falls somewhere in between, offering good performance for both read and write with its flexible I/O model. **Conclusions:** * For reading, `dd` emerges as the clear winner. * For writing, `dd` again shines, followed by `fio`. * `s3fs` falls behind but still offers a respectable performance for both read and write. **Recommendations:** * Use `dd` for high-performance data transfer. * Consider using `fio` for both read and write if performance is a concern. * For complex scenarios with multiple concurrent processes, evaluate the performance of each method.

正文

minio性能测试


minio的使用

前期使用了s3fs 
但是想验证一下性能相关, 所以使用今天简单验证了一下,
其实也可以使用一下fio
但是s3fs 是对象存储 没有修改 只有上传, 所以感觉还是使用dd更加好一些. 

dd 性能测试脚本-读取

rm -rf /tmp/cache/*
echo 3 >/proc/sys/vm/drop_caches
echo "不带缓存"
dd if=/minio_s3fs/draw.io-21.5.0-windows-no-installer.exe  of=/dev/zero bs=1024k count=100

echo "带缓存"
dd if=/minio_s3fs/draw.io-21.5.0-windows-no-installer.exe  of=/dev/zero bs=1024k count=100

dd 性能测试脚本-写入

rm -rf /tmp/cache/*
echo 3 >/proc/sys/vm/drop_caches
echo "不带缓存"
echo "1G"
dd of=/minio_s3fs/s3fsddin1G.io  if=/dev/zero bs=1024k count=1000
echo "100M"
dd of=/minio_s3fs/s3fsddin100M.io  if=/dev/zero bs=1024k count=100
echo "20M"
dd of=/minio_s3fs/s3fsddin20M.io  if=/dev/zero bs=1024k count=20

echo "带缓存"
echo "1G"
dd of=/minio_s3fs/s3fsddin1G.io  if=/dev/zero bs=1024k count=1000
echo "100M"
dd of=/minio_s3fs/s3fsddin100M.io  if=/dev/zero bs=1024k count=100
echo "20M"
dd of=/minio_s3fs/s3fsddin20M.io  if=/dev/zero bs=1024k count=20

echo "本地文件系统"
dd if=/dev/vda1  of=/dev/zero bs=1024k count=1000

测试结果为

## 写入到s3fs ##

不带缓存写入
1G:
1048576000字节(1.0 GB,1000 MiB)已复制,2.73069 s,384 MB/s
100M:
104857600字节(105 MB,100 MiB)已复制,0.5556 s,189 MB/s
20M:
20971520字节(21 MB,20 MiB)已复制,0.139882 s,150 MB/s
带缓存写入
1G:
1048576000字节(1.0 GB,1000 MiB)已复制,2.61818 s,400 MB/s
100M:
104857600字节(105 MB,100 MiB)已复制,0.336142 s,312 MB/s
20M:
20971520字节(21 MB,20 MiB)已复制,0.142419 s,147 MB/s

本地文件系统
629145600字节(629 MB,600 MiB)已复制,0.130208 s,4.8 GB/s

## 从3sf3读取 ## 

不带缓存
103875056字节(104 MB,99 MiB)已复制,0.147937 s,702 MB/s
带缓存-通过参数cache到了本地
103875056字节(104 MB,99 MiB)已复制,0.0432576 s,2.4 GB/s

warp测试

第一步 下载:
https://github.com/minio/warp
注意可以直接下载二进制就可以了
使用 tar.gz 包 然后将文件放到 /usr/bin 目录下并且赋予权限

第一步开启client
注意需要设定访问密码: 
WARP_ACCESS_KEY=minioadmin 
WARP_SECRET_KEY=minioadmin
然后执行 
warp client 就可以打开客户端. 

效果为:
warp client
warp: Listening on :7761

第二步: 使用warp进行测试. 
warp mixed --warp-client 192.168.255.65:7761 --host 192.168.255.45:9000 --duration 5s --obj.size 10M --concurrent 10     --autoterm   --access-key=minioadmin --secret-key=minioadmin
测试结果为:

warp: Benchmark data written to "warp-remote-2023-07-22[143906]-lATQ.csv.zst"
Mixed operations.
Operation: DELETE, 10%, Concurrency: 10, Ran 4s.
 * Throughput: 25.67 obj/s

Operation: GET, 43%, Concurrency: 10, Ran 4s.
 * Throughput: 1047.51 MiB/s, 109.84 obj/s

Operation: PUT, 15%, Concurrency: 10, Ran 4s.
 * Throughput: 375.29 MiB/s, 39.35 obj/s

Operation: STAT, 30%, Concurrency: 10, Ran 4s.
 * Throughput: 76.02 obj/s

Cluster Total: 1418.33 MiB/s, 249.86 obj/s over 5s.

如果是两个并发:
warp mixed --warp-client 192.168.255.65:7761 --host 192.168.255.45:9000 --duration 5s --obj.size 20M --concurrent 2     --autoterm   --access-key=minioadmin --secret-key=minioadmin
warp: Benchmark data written to "warp-remote-2023-07-22[144630]-3OOp.csv.zst"
Mixed operations.
Operation: DELETE, 10%, Concurrency: 2, Ran 4s.
 * Throughput: 5.73 obj/s

Operation: GET, 41%, Concurrency: 2, Ran 4s.
 * Throughput: 411.84 MiB/s, 21.59 obj/s

Operation: PUT, 16%, Concurrency: 2, Ran 4s.
 * Throughput: 191.57 MiB/s, 10.04 obj/s

Operation: STAT, 29%, Concurrency: 2, Ran 4s.
 * Throughput: 16.23 obj/s

Cluster Total: 587.10 MiB/s, 52.40 obj/s over 5s.

与minio性能测试相似的内容:

[转帖]minio性能测试

https://zhangzhuo.ltd/articles/2021/09/08/1631106274550.html 压测参数说明 压测数据量为:2个backet,每个backet为10000对象。每个对象大小512kb 所有minio服务内核以及资源优化都相同 整体读写压测时间为10分,读写比

minio性能测试

# minio性能测试 ## minio的使用 ``` 前期使用了s3fs 但是想验证一下性能相关, 所以使用今天简单验证了一下, 其实也可以使用一下fio 但是s3fs 是对象存储 没有修改 只有上传, 所以感觉还是使用dd更加好一些. ``` ## dd 性能测试脚本-读取 ``` rm -rf

[转帖]如何对minio进行性能测试和分析

https://developer.aliyun.com/article/1006775 环境详情 server(组成集群,ec为12:4) ip hosts 硬盘 storage01 172.16.50.1 12*10T storage02 172.16.50.2 12*10T storage03

[转帖]如何对minio进行性能测试和分析

https://developer.aliyun.com/article/1006775 环境详情 server(组成集群,ec为12:4) ip hosts 硬盘 storage01 172.16.50.1 12*10T storage02 172.16.50.2 12*10T storage03

[转帖]MinIO系列7 - Minio性能压测

https://www.zhihu.com/people/keen-wang 前言 声明:此文为本人历史笔记的整理,文章实际撰写时间为2021年2月份,所以本中所使用的相关组件版本较老。此文是通过压力测试以理解MinIO在当前硬件条件下能提供的性能,以及相关的资源消耗情况。转载请注明出处,谢谢! 前

[转帖]如何利用wrarp测试oss性能?

https://zhuanlan.zhihu.com/p/529735003 前言 我们利用mino与ceph rgw搭建好的oss经过多层网络转发,传输速度必定有所折损,这个时候我们使用wrap来测试oss对象存储的真实性能。 利用wrarp测试oss性能 wrarp是minio项目下的一个开源测

[转帖]MioIO读/写性能测试

https://www.jianshu.com/p/a0a84f91b16f image.png COSBench是Intel团队基于java开发,是一个测试云对象存储系统的分布式基准测试工具,全称是Cloud Object Storage Benchmark;由Driver和Controller两

minio 支持object搜索方案

minio支持上传时对object打标签,查询时可以根据标签做筛选。但是有ftp上传文件的需求,导致无法给object打标签。并且也不清楚minio对于根据标签的筛选性能如何,因此我们打算将object的对象的数据放到数据库。在数据库中对object进行筛选。 ## docker部署 ``` mkd

[转帖]rclone将本地文件或文件夹导入minio中

1、背景:公司数据迁移涉及到文件迁移,原有文件服务器没有使用minio,但是现在的新系统使用了minio。所以这就需要我们将文件上传到minio文件服务器中;由于历史文件数据量大,甲方要求可以通过服务器文件拷贝方式迁移文件,性能、安全性更高; 2、前期准备: 1)minio文件服务器已经安装完成;

MinIO使用记录

探索MinIO:高性能、分布式对象存储解决方案 注:本文除代码外多数为AI生成 最近因为有项目需要换成Amazon S3的云存储,所以把之前做过的minio部分做一个记录,后面也会把基于这版改造的S3方法发出来记录。 MinIO简介 MinIO是一款高性能、分布式对象存储服务器,设计用于在大规模环境