在32位或64位Linux OS服务器上使用Nginx + mysql运行Ruby on Rails + Phusion乘客及其性能?

问题描述 投票:2回答:1

我有Java背景,并且是Ruby on Rails的新手,并且为我的服务器选择32位或64位Linux操作系统有很多困惑。

这就是我所知道的,如果我错了,请纠正我:

32位操作系统不能使用超过4GB的RAM,但通过pae它是可能的。通过这种方式,即使没有单个常规应用程序可以同时访问它,额外的内存也很有用。所以我计划使用64位Linux OS服务器。

  1. 是否有64位Ruby enterprise edition
  2. 在64位Linux操作系统中安装32位MySQL 5或64位MySQL 5会更好吗?我将有32GB的RAM。
  3. 在64位操作系统上运行32位应用程序,并在64位操作系统上考虑MySQL 32位,是否有任何物理内存(RAM)限制?我想知道在64位操作系统上运行32位MySQL的任何陷阱或缺点。
  4. 假设我在64位Linux操作系统上安装了32位MySQL 5,它能否有效地利用我的RAM?我问这个是因为32位应用程序进程每个进程不能使用超过4GB的RAM。 (如果我错了,请纠正我)32位Mysql将作为N个数据库的单个进程(mysqld)运行。如果我有100个数据库,对于100个DB的事务,由于MySQL的32位限制,MySQL使用4GB的RAM。
  5. 假设我在64位Linux操作系统上安装了64位MySQL 5,那么MySQL 64位和Ruby on Rails之间是否有任何宝石不兼容?我想知道是否有MySQL 5 64位宝石?注意:我使用MySQL适配器而不是MySQL 2。
  6. 我打算在我的Rails应用程序部署中使用Phusion Passenger。我有100个Rails应用程序,我的问题是: 是否有64位Phusion Passenger可用。如果是,我在哪里可以找到它? 如果我在64位操作系统中运行带有32位Phusion Passenger的100个Rails应用程序,我的Phusion会有效地利用我的32 GB RAM吗? Phusion Passenger i100流程或100个线程中有100个Rails应用程序吗?
  7. 要通过Ruby on Rails + Nginx-Phusion Passenger + MySQL有效地利用我的硬件,我需要做些什么来处理32位和64位应用程序以及操作系统?

我的申请信息是:

Ruby - 1.8.7
Rails - 2.3.5
Database - mysql5
Database adapter - MySQL, Note - not mysql2 
server - Phussion Passenger + Nginx Module

我的专用服务器配置是:

OS         Debian 32-bit or 64-bit (still not decided)

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

任何关于服务器配置和32位/ 64位应用程序/操作系统架构的评论和评论都是受欢迎的,我很乐意接受它。

mysql ruby-on-rails linux rubygems 32bit-64bit
1个回答
2
投票

是否有64位Ruby enterprise edition

  1. Ruby是免费的,没有企业版或其他版本。

在64位Linux操作系统中安装32位MySQL 5或64位MySQL 5会更好吗?我将有32GB的RAM。

  1. 使用64位。

在64位操作系统上运行32位应用程序,并在64位操作系统上考虑MySQL 32位,是否有任何物理内存(RAM)限制?我想知道在64位操作系统上运行32位MySQL的任何陷阱或缺点。

  1. 还有一个64位版本的MySQL可用,所以没有问题。

假设我在64位Linux操作系统上安装了32位MySQL 5,它能否有效地利用我的RAM?我问这个是因为32位应用程序进程每个进程不能使用超过4GB的RAM。 (如果我错了,请纠正我)32位Mysql将作为N个数据库的单个进程(mysqld)运行。如果我有100个数据库,对于100个DB的事务,由于MySQL的32位限制,MySQL使用4GB的RAM。

  1. 使用64位版本,您甚至不必考虑这一点。

假设我在64位Linux操作系统上安装了64位MySQL 5,那么MySQL 64位和Ruby on Rails之间是否有任何宝石不兼容?我想知道是否有MySQL 5 64位宝石?注意:我使用MySQL适配器而不是MySQL 2。

  1. 使用哪个版本的MySQL并不重要,因为接口是Unix套接字或不依赖于32位或64位的TCP / IP套接字。

我打算在我的Rails应用程序部署中使用Phusion Passenger。我有100个> Rails应用程序,我的问题是:

  1. 是否有64位Phusion Passenger可用。如果是,我在哪里可以找到它?
  2. 如果我在64位操作系统中运行带有32位Phusion Passenger的100个Rails应用程序,我的Phusion会有效地利用我的32 GB RAM吗?
  3. Phusion Passenger i100流程或100个线程中有100个Rails应用程序吗?
  1. 我不确切地知道,但你也应该考虑使用Thin和nginx,它在性能方面与Phusion Passenger相当。

要通过Ruby on Rails + Nginx-Phusion Passenger + MySQL有效地利用我的硬件,我需要做些什么来处理32位和64位应用程序以及操作系统?

  1. 使用64位!

另外我建议你买一张RAID卡。

© www.soinside.com 2019 - 2024. All rights reserved.