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

Docker 单机:多实例多应用(即每个实例一个应用)单实例多应用 是否造成性能浪费

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

    我这边描述的情景是,例如我有 3 个应用的 DB1、DB2、DB3,若是 3 个应用的 DB 都跑一个 Mysql 实例(举例)

    那么会开启 3 个 Mysql 实例,这样比开启 1 个实例将 3 个 DB 都放在同一个实例中 会浪费更多的性能资源啊?

    诸如此类的还有 Apache HTTP Server、Nginx 等,是否可以直接单实例载入不同的配置文件从而避免多实例造成的性能资源开销?

    9 回复  |  直到 2018-08-31 17:18:48 +08:00
        1
    EXE   205 天前
    docker 的优点之一就是可以快速创建多个实例
        2
    linuxchild   205 天前
    其实从业务角度来讲,支持分开的;
    至于性能,开启多个肯定资源要占用的多,但是这东西真的会影响到你么?
    业务量大了再考虑优化吧
        3
    Judoon   204 天前 via Android
    没看懂,第一种是指开三个容器,每个容器中各跑一个 mysql ?第二种是指开一个容器中起三个 mysql 进程?

    原则上一个容器跑一个程序比较好
        4
    icekingcy   204 天前
    @EXE 优势知晓的,我的疑虑是对性能的开销


    @linuxchild 比如说现在有 10 个独立静态 Web 项目。每个项目分配一个 Apache 镜像的容器,即有 10 个,非常便于独立开发、管理。另外一种方案是 一个 Apache 容器,通过载入 Vhosts 配置文件,里面配置了 10 个目录。 这样的一个场景岂不是浪费了很多的资源吗? 此处的 10 个独立静态项目只是举例哈~


    @Judoon 第一种你的理解是对的。第二种就是传统的方式,相当于只跑一个 Mysql 容器,但是一个 Mysql 里面可以建立多个数据库呀,这样相当于一个 Mysql 实例里运行的是 3 个数据库。不知我讲明白否?
        5
    Judoon   204 天前 via Android
    @icekingcy 如果是这样的话,我觉得你的两种方案没什么可比性啊。取决于业务方对这三个库隔离性的要求。没要求当然一个实例里建多个库好了。
        6
    meowoo   204 天前 via iPhone
    个人觉得单实例单应用比较好

    最简单的就是,一个挂了不会影响别人
        7
    xenme   204 天前
    docker 主要就是分离,快速部署。
    如果三个跑一起,那还要 docker 干嘛?

    如果性能开销是主要考虑因素,要 docker 干嘛?
        8
    0312birdzhang   204 天前
    LXC 了解一下,虽然现在的 docker 不用 lxc 了,原理差不多
        9
    linuxchild   202 天前
    @icekingcy 浪费资源就浪费吧;这个实际上应该不算主要的考虑因素,hhha
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3145 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1