Ejabberd 1000虚拟主机是否可行



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

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

对我有任何帮助都是徒劳的。

我怀疑操作系统会在试图让十几个虚拟机满意的过程中陷入困境。(正如你发现的只有20。(这是一台结实的机器吗?我会选择一个带有MySQL实例的服务器,并且company_id是许多表中PRIMARY KEY的一部分。

(这个问题可能会在dba.stackeoverflow.com中引起更多关注。这个stackoverflow.com更倾向于编码。(

相比之下,MySQL本身的最大值是大约100个真正并发的查询。几千个人聊天是没有问题的,因为他们并不是真的同时做任何事情。

有了VM,你就有了这些层:

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

使用单个MySQL实例:

  • 一个操作系统,没有VM操作系统
  • 一个MySQL
  • 很多连接(不是什么大问题(
  • 相同数量的活动连接(很少超过十几个(

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

  • 一次对话将接触可能一兆字节的数据(聊天对话、索引等(
  • 一个加载了MySQL(代码、数据、开销等(的虚拟机可能需要超过1 GB

这意味着一千个虚拟机可能只需要TB的RAM就可以实现最低限度的使用。同时,一个流量相同的综合聊天平台可以在(我估计(4GB左右处理。

(如果你有不可告人的理由想要做虚拟机,就这么说吧。(

最新更新