V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
dddd
V2EX  ›  Python

数据库连接(只有一个)频繁开关消耗大吗?

  •  
  •   dddd · 2015-02-15 19:58:53 +08:00 · 4939 次点击
    这是一个创建于 3548 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如一个爬虫,获取信息的平均速度是 4条/秒,信息存入数据库。我想问的是,这个数据库连接一直保持开着好,还是频繁开关好?

    第 1 条附言  ·  2015-02-15 22:12:20 +08:00
    -bash: fork: retry: Resource temporarily unavailable
    -bash: fork: retry: Resource temporarily unavailable
    -bash: fork: retry: Resource temporarily unavailable
    -bash: fork: retry: Resource temporarily unavailable
    -bash: fork: Resource temporarily unavailable

    这是什么情况,VPS(do最低配) 上装了个 mongodb,跑个爬虫,less 一个 log 文件成这样了……
    16 条回复    2015-03-02 10:00:51 +08:00
    SR1
        1
    SR1  
       2015-02-15 20:16:26 +08:00
    其实,这种问题,写个脚本测一下就知道了。
    yangff
        2
    yangff  
       2015-02-15 20:17:03 +08:00
    反正瓶颈是带宽..
    lujiajing1126
        3
    lujiajing1126  
       2015-02-15 21:01:38 +08:00
    。。4条每秒。。没必要考虑这么多。。
    wanjun
        4
    wanjun  
       2015-02-15 21:10:56 +08:00
    当然大了,要不然就不会用连接池了
    omegaga
        5
    omegaga  
       2015-02-15 21:18:54 +08:00 via Android
    有一種東西叫連接池…
    dddd
        6
    dddd  
    OP
       2015-02-15 21:24:18 +08:00
    @lujiajing1126 没见过世面孩子伤不起……
    loading
        7
    loading  
       2015-02-15 22:16:29 +08:00 via Android
    优化 sql 语句和数据结构效果更显著些,这个问题请交给连接池,或用 sqlalchemy 等帮你搞定(能吗)
    9hills
        8
    9hills  
       2015-02-15 22:25:20 +08:00 via iPad
    每秒4次基本感觉不到性能损失
    john737
        9
    john737  
       2015-02-15 22:55:59 +08:00
    内存不够了,估计最低配的用mongo有点吃力,或者爬虫还有优化的空间
    fising
        10
    fising  
       2015-02-15 22:59:18 +08:00 via iPhone
    保持连接和每次断开的差异非常大。楼主可以试试写1W纪录看看时间差
    clino
        11
    clino  
       2015-02-15 23:56:40 +08:00 via Android
    积累多一些然后用事务模式批量写入效率更高
    msg7086
        12
    msg7086  
       2015-02-16 03:47:26 +08:00 via iPhone
    我们论坛每秒100请求以上,每次都开新连接,压力不大。
    min
        13
    min  
       2015-02-16 09:43:09 +08:00 via iPhone
    开销很大
    但在你这个超低负载下感觉不到
    liuhaotian
        14
    liuhaotian  
       2015-02-16 09:57:52 +08:00   ❤️ 3
    呵呵哒。瓶颈是带宽。
    aru
        15
    aru  
       2015-02-16 12:16:20 +08:00
    512M 内存跑mongodb + 爬虫,必须萌萌哒
    换个大内存vps 舒服很多
    tolerious
        16
    tolerious  
       2015-03-02 10:00:51 +08:00 via iPhone
    目测512M内存做爬虫吃不消,程序要吃一部分,数据库要吃一部分,爬数据量大了,512肯定挡不住的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1107 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:31 · PVG 03:31 · LAX 12:31 · JFK 15:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.