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

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

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

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

  1. 是否有64位Ruby企业版 ?
  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之间是否有任何gem不兼容? 我想知道是否有MySQL 5 64位gem? 注意:我使用MySQL适配器而不是MySQL 2。
  6. 我打算在我的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个Rails应用程序还是100个线程?
  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位应用程序/操作系统架构的评论和评论都是受欢迎的,我很高兴接受它。

  1. Ruby是免费的,没有企业版或其他版本。
  2. 使用64位。
  3. 还有一个64位版本的MySQL可用,所以没有问题。
  4. 使用64位版本,您甚至不必考虑这一点。
  5. 使用哪个版本的MySQL并不重要,因为接口是Unix套接字或不依赖于32位或64位的TCP / IP套接字。
  6. 我不确切地知道,但你也应该考虑使用Thin和nginx,它在性能方面与Phusion Passenger相当。
  7. 使用64位!

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

Interesting Posts