【问题标题】:NGINX-FPM configuration settings for magentomagento 的 NGINX-FPM 配置设置
【发布时间】:2013-01-16 13:15:09
【问题描述】:

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

【问题讨论】:

    标签: magento nginx magento-1.7 php


    【解决方案1】:

    背景

    我们在生产机器(VCenter 虚拟机,4 核,8 GB 内存)上的 ubuntu 12 上使用 nginx 和 php5-fpm。我们的 magento 安装是大量主题和扩展的。前几天为了好玩,我在默认安装了 Magento 1.12 EE 的 VMWare 机器上从头开始安装了所有东西(我需要在一个错误上把它们叫出来)。我只是这样说,你知道我们在生产环境中有 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/

    取自博客cmets:

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

    它可能无法回答您的所有问题,但有很多好东西可以确保您做到...比如设置 worker_processes = 您拥有多少个核心等。

    就我个人而言,我仍然遇到的一件事是,如果服务器负载变得非常高(每秒超过 5 到 10 次点击),处理器就会受到重创。我还没有完全解决这个问题,但是添加一个核心并撞到 ram 会产生很大的影响。我可能会增加内存,但目前我们的用户群没有看到任何网站性能问题。

    (从另一个网站的博客文章中找到:)

    Magento 大量使用磁盘子系统来实现它的许多功能。 操作。磁盘 I/O 是最大的瓶颈,仅次于 CPU (核心),以优化 Magento 性能。

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

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

    本地数据库也是 Magento 实现最佳性能的关键

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

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

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

    基于性能的网络服务器,例如 LiteSpeed,利用多个 CPU(内核)和 MySQL 服务器一样,具有适当的配置。 使用基于性能的 Web 服务器可以显着提高您的 Apache Web 服务器软件的应用程序性能。

    尝试重写或转换/编译 Magento 不是解决方案 - 它是 充其量是一个创可贴。您将无法获得任何未来的升级 (无需大量的开发时间来重写和测试 您的更改),每次升级我们都会继续看到速度 改进。永远不要执行对 Magento 的核心更改,核心 永远不要执行对 Magento 的更改 - 这会破坏 OOP Magento 采用的模型。

    最后,正如我们之前所说,Magento 无法达到最优 无需对基础设施进行大量投资即可提高性能 应用程序运行。如果您正在考虑运行 Magento 并且希望在预算托管服务提供商处这样做,请了解 您根本无法也不会通过此实现最佳性能 应用。

    Magento 需要资源,因为它的复杂性 - 你不能 在预算托管服务提供商上提供必要的资源作为 这种硬件系统的成本并不便宜。

    【讨论】:

    • 作为后续,我在nginx前面安装了varnish作为缓存方式,效果还不错。不完美,但它有很大帮助,而且做起来并不难。如果您有兴趣,请告诉我。
    • 为什么不使用 nginx 缓存?只是感兴趣
    【解决方案2】:

    你应该增加内存超过512m,因为nginx + php-fpm 和varnish run 使用的内存超过了系统的内存。我进行了溢出,php 进程没有足够的内存来执行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-20
      • 2015-02-02
      • 1970-01-01
      • 2011-05-20
      • 2017-03-29
      • 2012-12-23
      • 2018-01-17
      • 1970-01-01
      相关资源
      最近更新 更多