AMD Opteron 3280、8 核、32 GB DDR3 RAM 是否能够运行 200 个 rails 应用程序和 200 个 mysql 数据库

AMD Opteron 3280、8 核、32 GB DDR3 RAM 是否能够运行 200 个 rails 应用程序和 200 个 mysql 数据库

可能重复:
您能帮助我进行容量规划吗?

我计划在专用服务器中托管 Rails 应用程序 + Mysql

最多 200 个复制的 Rails 应用程序和 200 个唯一数据库

只是为了理解

www.client1.product.com   use client1 rails application connected with database name client1
www.client2.product.com   use  client2 rails application connected with database name client2

每个数据库有 90 个表,因此 client1 将使用一个包含 90 个表的数据库

我们可以计算出 200 个 Rails 应用程序意味着 200 个数据库,所以(200 * 90 个表 = 18000 个表)

我的问题是,以下服务器硬件配置是否能够处理 200 个独特的 rails app phusion 乘客实例和 200 个独特的数据库

总服务器负载假设:

我的服务器的平均并发 http 连接数为 300

在高峰时段,白天的 http 连接数可能在 500 到 2000 之间

每个客户端的最大数据库大小为 1 GB(如果我的应用程序运行超过 4 年),因此 200 个客户端 * 1 GB 数据库 = 200 GB(即每个数据库大小为 1 GB)

操作系统- Centos 或 Ubuntu

专用服务器配置:

CPU         AMD Opteron™ 3280
Quantity    Octo-Core
Clock Rate  8x 2.4 GHz (so total 19.2 GHz)
Processor passmark score is 5722 [http://www.cpubenchmark.net/cpu.php?cpu=AMD+Opteron+3280]


Main Memory

Capacity    32 GB RAM
Type    DIMM (DDR3)

Hard Disks

Quantity    2
Capacity    2,000 GB (ie) 2 TB + 2 TB
Type    SATA II, 7,200 rpm, 8 MB
RAID    RAID 1 by software

Mainboard

Chipset AMD 880G
Network Broadcom BCM57780

申请信息:

为了简单理解,Rails 应用程序源代码相同,但数据库不同。每个客户端应具有单独的数据库和单独的 rails 实例。我正在复制 - 为每个客户端复制代码,并使用单独的文件夹并提供不同的数据库名称,因此每个客户端都充当不同的实例。

例如:

我有一个主临时域

www.product.com

对于每个客户端,我需要将单独的子域映射到具有相同端口(80)但具有不同 rails 实例名称的同一服务器

www.client1.product.com
www.client2.product.com
www.clientn.product.com

应用程序架构:

Phusion Passenger + Nginx,最简单的实现VHOST的方法。

我的项目在不同的文件夹中:

/var/www/rails/client1/ /var/www/rails/client2/ /var/www/rails/client3/ /var/www/rails/client4/ 然后在 /etc/apache2/sites-available/client1.product.com 中为每个客户端创建一个 VHOST 文件

服务器名称 client1.product.com 文档根目录 /var/www/rails/client1/current/public

    <Directory /var/www/rails/client1/current/public>
            Allow from all
            Options -MultiViews
    </Directory>

我们欢迎任何有关服务器配置和应用程序架构的评论和意见,我很乐意接受。

答案1

不知道。没人知道。因为我们完全不知道你的瓶颈在哪里,也不知道每个应用程序使用了多少内存、CPU 和 IO,也不知道它们有多少用户。

可能有效,也可能爆炸。坐下来测试一下。

如果所有 200 gb 同时处于活动状态,则每个应用程序将获得 153,6 mb(假设 2gb 用于 overhad 和 OS),这可能会起作用,但磁盘方面只有大约 2 IOPS。

我个人会采用 6xxx 级双插槽主板,插入一个具有 16 核和 64GB 内存的 CPU,并根据需要添加第二个 CPU。

但只有你能说。这就是实验室的用途。

相关内容