首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
拉勾
V2EX  ›  问与答

在做网站的时候,你是如何保持 Web Server 与数据库的连接的?

  •  
  •   locktionc · 298 天前 · 1009 次点击
    这是一个创建于 298 天前的主题,其中的信息可能已经有所发展或是发生改变。

    你会在 Web Server 里面保持一个对数据库的长连接,前端发来一个请求你就直接查询数据库,还是每次前端请求来了以后再和数据库建立连接,查询完成以后就关闭?

    如果保持一个长连接,有没有什么风险?

    并发量几十,数据库返回的数据只有几 KB,这种情况下最佳处理方案是什么?

    6 回复  |  直到 2018-05-30 23:44:15 +08:00
        1
    a7a2   298 天前
    连接池啊 一般数据库连接库都带有。

    例如;
    DialTimeout: 3 * time.Second,
    ReadTimeout: 3 * time.Second,
    WriteTimeout: 3 * time.Second,
    PoolSize: 99,
    PoolTimeout: time.Second * 3,
    IdleTimeout: time.Second * 10,
    IdleCheckFrequency: time.Second * 10,
        2
    locktionc   297 天前
    @a7a2 嗯。这是一种方式。在一定时间内复用,超过一定时间就算开。同时最多 PoolSize 个连接。
        3
    a7a2   297 天前
    其实数据库配置文件可以设置超时、空闲多久等选项 自己搜索
        4
    panyanyany   297 天前
    这种数据量需要考虑最佳方案么……等你到了并发连接 300~500 的时候再考虑不迟啊
        5
    yangqi   297 天前
    网站不要用长连接,除非特殊情况,而且你知道你在干什么,都有哪些坑。就正常的连接查询断开就行,别想太多了。
        6
    iyaozhen   297 天前 via Android
    连接池更好,不然把 db 打崩了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2456 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 13:53 · PVG 21:53 · LAX 06:53 · JFK 09:53
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1