https://zhuanlan.zhihu.com/p/529735003
 

前言

我们利用mino与ceph rgw搭建好的oss经过多层网络转发,传输速度必定有所折损,这个时候我们使用wrap来测试oss对象存储的真实性能。

利用wrarp测试oss性能

wrarp是minio项目下的一个开源测试工具,wrap会上传一定随机数据到oss对象存储服务器上,统计过程消耗时间得出整个oss性能分析。

使用docker 执行测试

docker pull minio/warp:v0.5.5
docker run --net host minio/warp:v0.5.5 mixed --host=172.16.1.54:7480 \
--access-key=123456 \
--secret-key=123456 \
--autoterm

上述命令使用warpv0.5.5对地址为172.16.1.54:7480的oss服务器进行测试。

相关命令

FLAGS:
--no-color disable color theme
--debug enable debug output
--insecure disable TLS certificate verification
--autocompletion install auto-completion for your shell
--host value host. Multiple hosts can be specified as a comma separated list. (default: "127.0.0.1:9000") [$WARP_HOST]
--access-key value Specify access key [$WARP_ACCESS_KEY]
--secret-key value Specify secret key [$WARP_SECRET_KEY]
--tls Use TLS (HTTPS) for transport [$WARP_TLS]
--region value Specify a custom region [$WARP_REGION]
--encrypt encrypt/decrypt objects (using server-side encryption with random keys)
--bucket value Bucket to use for benchmark data. ALL DATA WILL BE DELETED IN BUCKET! (default: "warp-benchmark-bucket")
--host-select value Host selection algorithm. Can be "weighed" or "roundrobin" (default: "weighed")
--concurrent value Run this many concurrent operations (default: 20)
--noprefix Do not use separate prefix for each thread
--prefix value Use a custom prefix for each thread
--disable-multipart disable multipart uploads
--md5 Add MD5 sum to uploads
--storage-class value Specify custom storage class, for instance 'STANDARD' or 'REDUCED_REDUNDANCY'.
--objects value Number of objects to upload. (default: 2500)
--obj.size value Size of each generated object. Can be a number or 10KiB/MiB/GiB. All sizes are base 2 binary. (default: "10MiB")
--get-distrib value The amount of GET operations. (default: 45)
--stat-distrib value The amount of STAT operations. (default: 30)
--put-distrib value The amount of PUT operations. (default: 15)
--delete-distrib value The amount of DELETE operations. Must be at least the same as PUT. (default: 10)
--obj.generator value Use specific data generator (default: "random")
--obj.randsize Randomize size of objects so they will be up to the specified size
--benchdata value Output benchmark+profile data to this file. By default unique filename is generated.
--serverprof value Run MinIO server profiling during benchmark; possible values are 'cpu', 'mem', 'block', 'mutex' and 'trace'.
--duration value Duration to run the benchmark. Use 's' and 'm' to specify seconds and minutes. (default: 5m0s)
--autoterm Auto terminate when benchmark is considered stable.
--autoterm.dur value Minimum duration where output must have been stable to allow automatic termination. (default: 10s)
--autoterm.pct value The percentage the last 6/25 time blocks must be within current speed to auto terminate. (default: 7.5)
--noclear Do not clear bucket before or after running benchmarks. Use when running multiple clients.
--syncstart value Specify a benchmark start time. Time format is 'hh:mm' where hours are specified in 24h format, server TZ.
--warp-client value Connect to warp clients and run benchmarks there.
--analyze.dur value Split analysis into durations of this length. Can be '1s', '5s', '1m', etc.
--analyze.out value Output aggregated data as to file
--analyze.op value Only output for this op. Can be GET/PUT/DELETE, etc.
--analyze.host value Only output for this host.
--analyze.skip value Additional duration to skip when analyzing data. (default: 0s)
--analyze.v Display additional analysis data.
--serve value When running benchmarks open a webserver to fetch results remotely, eg: localhost:7762
--help, -h show help

结果

Uploading 2500 objects of Random data; 4194304 bytes totalwarp: Starting benchmark in 3s...
warp: Benchmark starting...
Throughput 101.0 objects/s within 7.500000% for 10.262s. Assuming stability. Terminating benchmark.
warp: Saving benchmark data...
warp: Benchmark data written to "warp-mixed-2022-04-18[030853]-nm3V.csv.zst"
Mixed operations.
Operation: DELETE, 10%, Concurrency: 20, Ran 36s.
* Throughput: 33.90 obj/s
Operation: GET, 45%, Concurrency: 20, Ran 36s.
* Throughput: 610.60 MiB/s, 152.65 obj/s
Operation: PUT, 15%, Concurrency: 20, Ran 36s.
* Throughput: 203.71 MiB/s, 50.93 obj/s
Operation: STAT, 30%, Concurrency: 20, Ran 36s.
* Throughput: 101.58 obj/s
Cluster Total: 813.56 MiB/s, 338.78 obj/s over 37s.

结语

以上就是使用wrap测试oss的其中一种办法,你学会了吗?希望读者朋友看完这篇文章后有所启发。

[转帖]如何利用wrarp测试oss性能?的更多相关文章

  1. 【转】dd命令详解及利用dd测试磁盘性能

    dd命令详解及利用dd测试磁盘性能   linux下dd命令详解 名称: dd 使用权限: 所有使用者 manpage 定义: convert and copy a file 使用方式: dd [op ...

  2. [.net 面向对象程序设计进阶] (16) 多线程(Multithreading)(一) 利用多线程提高程序性能(上)

    [.net 面向对象程序设计进阶] (16) 多线程(Multithreading)(一) 利用多线程提高程序性能(上) 本节导读: 随着硬件和网络的高速发展,为多线程(Multithreading) ...

  3. Apache JMeter--网站自动测试与性能测评

    Apache JMeter--网站自动测试与性能测评 2013-02-28 15:48:05 标签:Jmeter From:http://bdql.iteye.com/blog/291987 出于学习 ...

  4. jmeter之如何减负-实现稳定超高并发测试(性能调优)之正确添加监听器

    jmeter之如何减负-实现稳定超高并发测试(性能调优)在测试过程中,初学者使用工具不当,添加众多监控组件,非常想看到实时报告,跑不了一会,jmeter就卡死,只得重启 下面来总结下如何正确使用jme ...

  5. [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(三) 利用多线程提高程序性能(下)

    [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(二) 利用多线程提高程序性能(下) 本节导读: 上节说了线程同步中使用线程锁和线程通知的方式来处理资源共享问题,这 ...

  6. [.net 面向对象程序设计进阶] (17) 多线程(Multithreading)(二) 利用多线程提高程序性能(中)

    [.net 面向对象程序设计进阶] (17) 多线程(Multithreading)(二) 利用多线程提高程序性能(中) 本节要点: 上节介绍了多线程的基本使用方法和基本应用示例,本节深入介绍.NET ...

  7. [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能

    [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能 本节导读: 上节说了缓存是以空间来换取时间的技术,介绍了客户端缓存和两种常用服务器缓布,本节主要介绍一种. ...

  8. 使用SQLIO测试磁盘性能

    SQLIO 是一个用于测试存储系统能力的命令行工具,用以获取存储系统相关的性能指标,以判断系统的 I/O 处理能力. 在微软的网站可以下载 SQLIO 的安装包,安装后目录中会出现如下文件: EULA ...

  9. hdparm测试硬盘性能

    <1>Centos安装hdparm测试硬盘性能 一.安装hdparm yum install hdparm -y Linux学习,http:// linux.it.net.cn 二.评估读 ...

  10. Android IOS WebRTC 音视频开发总结(五六)-- 如何测试网络性能?

    本文主要介绍如何测试网络性能,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help 网络性能直接决定了视频通话效果,比如qq,很多时候我们我们觉得通 ...

随机推荐

  1. curl使用小记(一)

    目录 1. 概述 2. 实例 2.1. 访问网页 2.2. 显示头信息 2.3. 保存网页 2.4. 下载图片 2.5. 用户代理设置 2.6. 代理设置 3. 参考 1. 概述 curl也就是com ...

  2. html2pdf

    nodejs 生成pdf比较靠谱,使用chrome核心渲染: puppeteer / phantom 爬虫都好用 good

  3. 【华为云技术分享】玩转物联网IoTDA服务系列三-自动售货机销售分析场景示例

    摘要:物联网解决方案中,作为数据主体的"物"可能数量会非常大,产生的数据已经无法通过传统的数据处理服务进行处理.如何分析与利用这庞大的物联网设备数据对物联网企业来说又是一个新的挑战 ...

  4. 几款Java开发者必备常用的工具,准点下班不在话下

    摘要:一问一答的形式轻松学习掌握java工具. 以一问一答的形式学习java工具 Q:检查内存泄露的工具有?A: jmap生成dump转储文件,jhat可视化查看. Q:某进程CPU使用率一直占满,用 ...

  5. ModelArts黑科技揭秘|弹性训练,让训练资源张弛有度

    摘要:AI进入产业的门槛变高,开发者想要做出优秀的AI模型就不得不在算力和成本之间折中,怎么办? 为帮助企业在AI落地过程中进一步实现降本增效,华为云推出AI黑科技--弹性训练. 今年,AI界最被热议 ...

  6. ModelBox姿态匹配:抖抖手动动脚勤做深呼吸

    摘要:本案例使用Windows版本的ModelBox SDK进行二次开发,主要是针对姿态匹配案例开发实践. 本文分享自华为云社区<姿态匹配:抖抖手动动脚勤做深呼吸>,作者:吴小鱼. 在之前 ...

  7. 超详细教程:SpringBoot整合MybatisPlus

    摘要:本文为大家带来SpringBoot整合MybatisPlus的教程,实现SpringBoot项目中依赖数据模块进行数据操作,并进行简单测试. 本文分享自华为云社区<SpringBoot整合 ...

  8. AI如何提升10倍筛药效率?6月18日华为云携手中科院上海药物所揭开谜底

    摘要:6月18日,华为云TechWave全球技术峰会(人工智能&数据)围绕人工智能.大数据.数据库.华为云Stack等热点话题,携手来自全球的IT精英.技术大咖.先锋企业.合作伙伴共话前沿技术 ...

  9. 华为云数据治理生产线DataArts,让“数据‘慧’说话”

    摘要:数据治理生产线DataArts改变了传统"人拉肩抗"的数据处理方式,帮助提升效率:降低技术门槛,让"人人都是分析师":让"数据'慧'说话&quo ...

  10. 云小课|VMware备份上云学习专列来了,快加入吧~

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:华为云云备份CBR ...