magento的NGINX-FPM配置设置

时间:2013-01-16 13:15:10

标签: magento nginx magento-1.7 php

我正在运营一个用magento开发的电子商务网站。我在服务器上有512mb RAM和2.6 core2duo。当我在我的网站上一次发送50个请求时,除少数请求外,它没有响应。我也安装了清漆。我想知道我想为我的网站做的最佳设置。我已经看到PHP-FPM占用了太多的内存和CPU。

2 个答案:

答案 0 :(得分:3)

背景

我们在生产机器上使用ubuntu 12上的nginx和php5-fpm(VCenter虚拟机,4核,8 GB内存)。我们的magento安装主题和扩展。前几天,我在VMWare盒子上安装了一切,默认安装了Magento 1.12 EE(我需要在bug上调出它们)。我只是这样说,所以你知道我们在生产环境中有nginx和php5-fpm。

你所问的是我认为每个人都在努力使用nginx和php fpm ......从中榨取更多性能。我的意思是,如果我们不想让网站性能提升,我们可以使用apache和php吗?有很多答案,意见和案例库解决方案,但我会指出你用来配置我的系统的指南......

http://www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips-and-tricks/

取自博客评论:

  

......然而,问题确实是Magento,而不是配置   的服务器。 Magento太大了,太重了   环境。 Magento托管是一项非常乏味和令人不愉快的任务。

它可能无法解答您遇到的每一个问题,但确保您做的事情有很多好处...比如设置worker_processes =您拥有多少个核心等。

就我个人而言,有一件事情仍然是服务器负载非常高(每秒超过5-10次点击)处理器受到重创。我还没有完全确定问题所在,但是添加一个核心并碰撞撞锤会造成很大的影响。我可能会增加ram,但此时我们的用户群没有看到任何网站性能问题。

(从其他网站发布博客文章:)

  

Magento大量使用磁盘子系统   操作。磁盘I / O是CPU的最大瓶颈   (核心),以达到最佳的Magento性能。

     

这就是为什么Magento在云环境中表现如此糟糕的原因   存储在SAN上与无数其他用户共享并处于压力之下   在随机时间导致不一致的表现。

     

SSD(固态硬盘)在本地配置为RAID1 + 0磁盘阵列   在同一RAID配置中优于15.5K SAS驱动器。

     

本地数据库也是Magento

达到最佳性能的关键      

远程数据库引入了延迟到期的系统调用和网络   饱和。如果必须使用远程数据库,则应确保   您在私有VLAN上,而不是共享过饱和的网络   连接,即使是最大的托管服务提供商也很常见。   在最好的网络环境中,远程数据库不会像   由于各种原因,快速作为本地数据库。

     

CPU速度和CPU数量也非常重要   最佳的Magento性能。你可以了解它的力量   您在以下URL使用的高端CPU - 如果CPU是   未在此处列出,它不被基准视为“高端”   “PassMark软件”;

     

http://www.cpubenchmark.net/high_end_cpus.html

     

基于性能的Web服务器(如LiteSpeed)使用多个   CPU(核心)和MySQL服务器一样,配置正确。   使用基于性能的Web服务器可以显着提高您的性能   针对Apache Web服务器软件的应用程序性能。

     

尝试重写或转换/编译Magento不是解决方案 - 它是   最好是一个绑带。您将无法进行任何升级   (没有大量的开发时间来重写和测试   你的改变)和每次升级我们继续看到速度   改进。 Magento的核心变化永远不应该被执行,核心   不应该对Magento进行更改 - 这会使OOP失败   Magento采用的模型。

     

最后,正如我们之前所说,Magento无法达到最佳状态   没有对基础设施进行大量投资的绩效   应用程序运行。如果你正在考虑运行Magento   并希望在预算托管服务提供商那样做   你根本不能也不会达到最佳性能   应用。

     

Magento因其复杂性而需要资源 - 您不能   提供预算托管服务提供商所需的资源   这类硬件系统的成本并不便宜。

答案 1 :(得分:0)

你应该增加超过512米的内存,因为nginx + php-fpm和varnish运行使用的不仅仅是系统内存。我进行溢出和php进程无法执行