Open ifquant opened 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
我 添加了一个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