我应该放在我的大机器上? Magento数据库的Magentonetworking服务器?

我即将推出一个新的Magento网站,我对这个问题的反馈感兴趣? 你认为Magento PHP代码较慢或者Magento MySQL操作较慢? 我应该分成哪两个服务器的大盒子?

我们的经验:我们只托pipeMagento商店。

Magento非常非常常见的误解是,您甚至应该使用单独的数据库服务器,更糟糕的是,您应该使用function最强大的服务器作为数据库服务器。

除非您处于多个Web服务器的集群configuration中,否则我们绝不会主张为Magento使用单独的数据库服务器。

我将用一些服务器的最新统计数据来回补这个问题。

我已经从一个小的Magento网站(每天4000独立访客)的平均负载。 您可以亲自看到,单独的数据库服务器通常使用的CPU和资源非常less。 事实上,它唯一需要的是大量的RAM。

MySQL绝对不是任何Magento安装的瓶颈。 但是,如果你必须使用两个服务器….

…我将根据您的网站每天约有10,000位访问者提供此build议。 但为了得到准确的答复,你应该真的发布:

  1. 您的目标级别的stream量,访问,点击
  2. 您的完整服务器规格

为您的networking服务器

  1. 您希望尽可能多的CPU尽可能快(核心越多,并发支持越多 – 时钟速度越快,单个页面加载时间越快)
  2. 您需要与CPU成比例的内存,通常每个内核1GB是一个很好的指导
  3. I / O不是问题,所以RAID1 7200RPM +磁盘就足够了(WD RE4或WD 3000 HLFS)

为您的数据库服务器

  1. 你不需要很多内核,双核就足够了。 但同样,时钟速度越高,个人查询速度越快。
  2. 你需要尽可能多的RAM。 Magento使用InnoDB和InnoDB渴望RAM运行良好。
  3. I / O和普通IOPS制造/中断数据库服务器 – 所以你想要一个快速的磁盘设置,但对于10K的访问者商店,RAID1 7200RPM +磁盘就足够了(WD RE4或WD 3000 HLFS)。

您也可以在两个服务器之间的networkingstream量之间进行负载平衡,但是这样的configuration超出了本回复的范围。

MySQL查询

数据库服务器负载

数据库服务器负载

Web服务器负载

Web服务器负载

为了运行某些进程,必须将php memory_limit反弹到512MB,我已经观察到每个加载的Apache进程都明显错过了内存。 你将学会放下mod_php5,把你的Apache web服务变成php解释器,这不是资源的最佳利用。 在FastCGI下,您可以运行Apache WorkerMPM,将其返回到服务的HTML,而FastCGI将PHP解释器作为单独的进程运行。 最重要的是你需要一些操作码caching。 针对内存和CPU使用进行优化的主要最快服务器需要成为您的Web / PHP服务器。 为快速磁盘I / O优化的辅助服务器是运行MySQL服务的地方。

在两台服务器系统中,运行带有12GB +内存的四核服务器和8GB +的双核系统以及数据库服务器的快速磁盘子系统是很常见的。

我认为把数据库放在更大的服务器上是个好主意,因为如果你有一个不重要的站点(需要多个服务器),那么你将会在数据库上加载大量的负载,查询内容。 当然,这个负载将会比parsingphp文件更大的瓶颈。

我相信把数据库放到更大更强大的服务器上通常会更好。

原因在于将应用程序移动到另一台服务器而没有停机时间要容易得多。 向外扩展应用程序本身更容易和有效。 两个正确的负载均衡的应用程序服务器可以让你增加近2倍,而对于数据库,你永远不会得到这样的值,并且会被迫使用复制和/或分片来进行configuration,而configurationhttp负载均衡器则更加困难。

所以,如果你的应用程序将会增长,那么现在就可以使用最好的数据库服务器 – 这样在你移动/扩展数据库之前,会给你更多的时间,而移动/扩展应用程序/ http服务器则更加困难。