aliyun / aliyun-oss-cpp-sdk

Aliyun OSS SDK for C++
Other
188 stars 88 forks source link

4k 数据 大并发 上传,有潜在的bug. 盼修复. #96

Open ifquant opened 3 years ago

ifquant commented 3 years ago

我 添加了一个perf 目录 https://github.com/ifquant/aliyun-oss-cpp-sdk

问题描述 发现当用单线程从内存 连续 PutObjectAsync 10000个 4k大小的内存块的时候,sdk 会开启49个线程, 并且占满系统cpu. 导致 put ops 非常低,在2核机器上putobject ops 只能达到130/s . 按照常理来说,因为基本无cpu计算,都是内存操作和io操作,非常不合理。请求协助排查。 看看改哪些参数可以解决这个问题。

![Uploading image.png…]()

问题复现: 1.再perf/src/Config.c 设置桶,内网oss地址,key,secert 2.在 perf/src/ObjectPerfTest.cc 替换桶名 lvwjtest 桶名为实际的桶名。 3.在oss同区域找一台阿里云机器。 4.mkdir build; cd build; cmake ../
5 ./perf/cpp-sdk-perf put 1 10000
会输出 put完10000个文件,花费了多长时间. 6.top 观察. top -H -p pid