python脚本运行一段时间后就停止了_我的 python 脚本执行时间长了,他就卡着不动,好久才动一次...

a7463250674bec90f57d6dcb8d49f48a?s=73&d=retro

V2EX › 问与答

我的 python 脚本执行时间长了,他就卡着不动,好久才动一次

qq2549112 · 2015-07-05 01:58:39 +08:00 · 5866 次点击

这是一个创建于 1966 天前的主题,其中的信息可能已经有所发展或是发生改变。

写了个脚本, 用来拉取远程服务器上的数据,然后存入本地,

然后我 执行 python get1.py

拉取了才5w多

脚本就卡了 不动

要好几分钟才动一下

我以为是远程数据库挂了,于是新开一个窗口执行 python get1.py 速度飞快

那就正面 不是远程 和本地数据库的问题

是终端窗口 内存用光了吗

可是我的脚本 就是要让他长期运行呀,这才拉了几万个记录,就卡成这样了

那我有好几十万的数据量 怎么办呀

大家有解决办法吗

第 1 条附言 · 2015-07-05 12:19:40 +08:00

第 2 条附言 · 2015-07-05 12:22:40 +08:00

我的代码是这个 http://paste.ubuntu.com/11824534/

从代码上来看 应该是没有问题 ,后来我加了个判断, 就是offset 可以整除10000的时候 就休息10秒 [也就是每次同步1w个数据,就休息10秒] , 但还是不行,还是会在5w左右的数据量 出现卡住的情况

而且每次都在 5w左右 卡住

所以我现在怀疑是远程数据库 做了什么限制

但是我不知道怎么办了

第 3 条附言 · 2015-07-05 12:25:19 +08:00

会不会是mysql 对每个会话的数据量 做了什么限制啊

第 4 条附言 · 2015-07-05 12:35:10 +08:00

刚才查看了 mysql rds 后台的数据

他对 IOPS 限制到200的 刚才我看他已经 用了100% 也就是用光了

是不是这个用光了啊

不过

我每秒也没有到200次啊啊

现在我测试了 超市10秒, 再看看 ,10秒没有反映 是不是会重新连接

期待上帝保佑

第 5 条附言 · 2015-07-05 15:14:14 +08:00

现在我差不多找到问题原因了

是 因为 到了 5w左右

sql语句变成了

SELECT * FROM table ORDER BY modified ASC LIMIT 52600,100

我网上搜了,说这样的话, 数据库会扫描52600行数据,所以慢,

我参考的文章是 http://www.fienda.com/archives/110

但是我这个 是根据时间戳来 拉数据的, 所以 不能用id 来排除

我要想想 怎么用时间戳 缩小范围

第 6 条附言 · 2015-07-05 16:09:25 +08:00

[结贴]

谢谢大家

现在我找到问题所在了,

是数据库的问题

我重新发了个帖子, http://www.v2ex.com/t/203463

麻烦 懂mysql的朋友 帮我看看 谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值