【问题标题】:Ejabberd 1000 virtual host is possbile?Ejabberd 1000 虚拟主机是可能的吗?
【发布时间】:2021-03-15 10:28:06
【问题描述】:

我们正在开发具有 1000 个虚拟主机的聊天应用程序。每个虚拟主机一个公司。我们正在为超过 20 个虚拟主机而苦苦挣扎,服务器有时会变慢。单个节点中可能有多少虚拟主机。添加1000个虚拟主机时服务器的配置是什么。

操作系统:Centos 8 版本:ejabberd20.04 数据库:MySql

如果能帮到我,我会很感激的。

【问题讨论】:

    标签: mysql virtualhost ejabberd


    【解决方案1】:

    我怀疑操作系统会在试图让十几个虚拟机满意的情况下自己绊倒。 (你发现只有 20 个。)这是一台强大的机器吗?我会使用带有单个 MySQL 实例的单个服务器,并在许多表中将 company_id 作为 PRIMARY KEY 的一部分。

    (这个问题在 dba.stackoverflow.com 中可能更具吸引力。这个 stackoverflow.com 更倾向于编码。)

    相比之下,MySQL 本身最多可以处理一百个左右的真正并发 查询。几千个人聊天没有问题,因为他们真的不会同时做任何事情。

    使用 VM,您有以下层:

    • 操作系统协调虚拟机
    • 每个 VM 协调其中的进程(MySQL 等)
    • 每个 MySQL 协调连接。

    使用单个 MySQL 实例:

    • 一个操作系统,没有虚拟机操作系统。
    • 一个 MySQL。
    • 很多连接(不是大问题)。
    • 相同数量的活动连接(很少超过一打)。

    此外,让我们看看 RAM 使用情况。

    • 单个对话将涉及可能一兆字节的数据(聊天对话、索引等)。
    • 加载了 MySQL(代码、数据、开销等)的 VM 可能需要 1 GB 以上。

    这意味着一千个虚拟机可能会占用 TB 的 RAM 以实现最低限度的使用。同时,处理相同流量的整合聊天平台(我估计)大约需要 4GB。

    (如果你有不可告人的理由想做虚拟机,请说出来。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多