开发者社区> 问答> 正文

pythonAPIossapi.py中的putobjectfromfile函数为什么执行的越来越慢?

使用 官方的 python API 做了一个上传本地日志到 OSS 上的工具,使用的是  oss_api.py 中的 put_object_from_file 函数,日志文件较多大概每天20万个文件,每个文件平均 70KB ,但是工具运行一段时间后发现,此函数用时越来越长

开始 0.01秒就可上传完成一个文件,随着调用此函数次数增加用时逐渐增长,达到 1点几秒才能上传完成,而且程序占用内存在不断增长。



程序片断:


             time_begin = time.time()
            res =tmp_oss. put_object_from_file(item[1], item[2], item[3],'application/x-gzip')
             time_end = time.time()
            if res.status == 200 :
                if item[0] == self.__get_file_size_from_oss(tmp_oss,item[1],item[2]):
                    print 'upload file SUCESS [thread:%d] [time:%f] [%s] [%s]' % (n, time_end-time_begin,item[2],item[3])
                    os.remove(item[3])



展开
收起
hisun2012 2014-03-05 18:47:23 8405 0
5 条回答
写回答
取消 提交回答
  • 看完这个帖子,我又相信爱情了
    2014-03-09 17:29:10
    赞同 展开评论 打赏
  • RepythonAPIossapi.py中的putobjectfromfile函数为什么执行的越来越慢?
    put_object_from_file  为单进程上传模式,文件量上去了,其上传速度和时间肯定会随之增长的
    2014-03-09 00:22:25
    赞同 展开评论 打赏
  • RepythonAPIossapi.py中的putobjectfromfile函数为什么执行的越来越慢?
    lz 20万个文件都是放在同一个bucket里面吗?
    2014-03-06 12:00:01
    赞同 展开评论 打赏
  • Re:
    没用过这个SDK,不清楚,建议你提个工单
    2014-03-06 10:45:48
    赞同 展开评论 打赏
  • RepythonAPIossapi.py中的putobjectfromfile函数为什么执行的越来越慢?
    自己顶一下,
    没有人遇到同样的问题吗?这个会不会是 api 内有内存泄露

    -------------------------

    回3楼大土堆的帖子
    是的,这个对上传速度有影响吗?
       每次我看上传用时过长时,就把程序杀掉重启,然后上传速度就又非常快了,我感觉不是因为 bucket 中的文件过多导致。

    -------------------------

    回6楼xuyuan.xy的帖子
    大哥能再说明白点不:
    为啥说put_object_from_file 是单线程模式 ?还有这个在单线程模式下,文件量大,为什么会对上传速度有影响?
    2014-03-06 09:59:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载