Magento 通常都这么慢吗?

这是我第一次使用它,管理面板需要很长时间才能加载和保存更改。这是带有测试数据的默认安装。

它所在的服务器以超快的速度为其他非 Magento 站点提供服务。Magento 使用的 PHP 代码为何如此缓慢,可以采取哪些措施来修复它?

有帮助吗?

解决方案

我一直只是在优化Magento的性能方面,但这里有一些原因导致系统速度太慢

  1. Magento的部分内容使用在MySQL之上实现的EAV数据库系统。这意味着查询单个“事物”。通常意味着查询多行

  2. 幕后有许多事情(应用程序配置,系统配置,布局配置等),涉及在内存中构建巨型XML树,然后“查询”。那些相同的树木供参考。这需要内存(存储树)和CPU(解析树)。其中一些(尤其是布局树)非常庞大。此外,除非启用缓存,否则这些树将从<磁盘上的文件和每个请求上的构建

  3. Magento使用其配置系统允许您覆盖类。这是一个强大的功能,但它意味着只要实例化模型,帮助器或控制器,就需要运行额外的PHP指令来确定是否需要原始类文件或覆盖类文件。这加起来。

  4. 除了布局系统,Magento的模板系统还涉及大量的递归渲染。这加起来。

  5. 总的来说,Magento工程师的首要任务是建立最灵活,可定制的系统,并在以后担心性能。

    为确保更好的性能,您可以做的第一件事就是打开缓存(系统 - &gt;缓存管理)。这将减轻Magento构建其各种XML树时发生的一些CPU /磁盘阻塞。

    您要做的第二件事是确保您的主机和运营团队具有调整Magento的性能。如果你依靠7美元/月的计划来看你,那么,祝你好运。

其他提示

除了 Alan Storm 关于缓存的建议之外,我特别建议您研究与缓存相关的两件事:

- 确保缓存在 memcached 中,而不是在磁盘上。

我负责几个 magento 安装,一旦系统上出现任何类型的负载,memcached 就会开始执行得更快。而且更改它非常容易(至少相对于其他 magento 的东西来说!)

好的起点在这里: http://www.magentocommerce.com/boards/viewthread/12998/P30/ - 但如果您以前根本没有使用过 memcached,那么也值得查看一些有关它的一般信息。

- 启用模板/视图缓存。

这是一篇好文章: http://inhoo.net/ecommerce/magento/magento-block-caching/

magento 网站上也有一些不错的(google magento 块缓存),但目前已关闭。

为了给块缓存添加我的两分钱,我建议您在 /app/code/local 中创建自己的块,扩展核心块并定义缓存参数,将它们命名为 xxx_Cac​​he ,然后更新您的布局以使用这些块的核心。这样,您就可以在升级 magento 时避免丢失更改或破坏系统。

如果你还没有看到它,Magento和Rackspace联手打造了一篇关于Magento性能调整的白皮书。这很棒。 https ://support.rackspace.com/whitepapers/building-secure-scalable-and-highly-available-magento-stores-powered-by-rackspace-solutions/

---编辑---

新推出的另一项重要资源(2011年10月)是: http://www.sessiondigital.com/assets/Uploads/ MAG-穿孔 - WP-final.pdf

(感谢Alan Storm关于这一次。)

您的管理界面非常慢,可能还有一个非常明显的原因。 Magento有一个名为Mage_AdminNotification的模块。尝试禁用该分机。因为它的作用是查询magentocommerce.com以获取新的更新消息。如果他们的服务器很慢,您的管理页面会等待,并且由于网络延迟和外部新闻的加载而实际上很慢。如果您通过防火墙保护了外发服务器连接,这可能会更令人沮丧,因为管理界面会在无法访问magentocommerce.com时等待超时

要禁用它:转到系统 - &gt;配置,滚动到底部并点击高级(在高级部分)。现在禁用 Mage_AdminNotification 并保存!

我只对Magento有过肤浅的经历。我将它安装在共享的网格服务器上,页面加载惨淡〜5 +秒。在云雀上,我将它安装在我针对CMS网站专用服务器的优化上,它感觉非常非常活泼。

我的专属托管有~10 Joomla!站点和运行的VBullitin站点。

我的猜测是,它不会在共享主机上表现出色。超额认购不会让Magento有足够的资源来运行它。

我在公司中更多地参与了托管服务器优化,但我可能会为您提供一些提示。首先,您可以使用Zend服务器的代码跟踪功能更密切地查看代码。它可以让你看到事情变脏的地点和时间。

我完全赞同benlumley关于缓存的考虑。我们托管的大多数网站甚至都没有阻止缓存启用。必须明确地调用该高速缓存而不是“假设”。因此,如果您的代码尚未参与此机制,那么您肯定想尝试一下。如果您有EE版本,您可以获得完整页面以获得最好的野兽。

反向代理也会有很大帮助。它将缓存静态资源,显着降低前端服务器的php解释堆栈的压力。

别忘了写会话&amp; Magento缓存到RAM磁盘。这也肯定会让你达到另一个级别的表现。

这里还有很多东西要说,但我已经没时间了。你必须知道一个好的网站,在1.4.1 CE版本中编码,在2x5650至强+ 16 GB RAM服务器上运行并且在顶部有一个Rproxy,每天最多可以吸引5万个独立访客,每个人都有流畅的页面

从Apache切换到LiteSpeed对我们帮助很大。除了:编辑MySQL的设置,安装Fooman Speedster(压缩/组合js和css文件的模块)和安装APC。 Magento还发布了一份关于如何从企业版中获得最佳性能的白皮书,但它同样适用于其他版本: http://www.magentocommerce.com/whitepaper/

有很多原因可以解释为什么你的Magento购物车运行缓慢,但没有任何借口可以通过各种方法来解决问题并使其快速变得非常快。通过修改htaccess文件启用Gzip是一个开始。您还可以安装fooman speedster扩展。使用的服务器类型也将决定商店的速度。更多提示和更好的解释 http://www.interactone.com/如何对加速-的magento /

Magento非常慢,因为数据库设计不是很好。代码很乱,很难更新和优化。因此,所有优化都是通过缓存而不是代码完成的。

另一方面。这是一个拥有大量工具的网上商店。因此,如果您需要一个灵活的网上商店,只需购买一台非常强大的服务器,您就可以了。

当我第一次安装时,我的页面加载时间为30秒。我的服务器没有使用ram或处理器,所以我不知道该怎么办。看看firebug的网络面板,它每页加载大约100个文件,每个文件需要很长时间才能连接。在htaccess中安装fooman speedster和gzip之后,加载时间减少到3秒,就像它们在我服务器上的其他购物车上一样。

它还将归结为功能与性能。

使用nginx,php-fpm,memcached,apc和正确设计的服务器获得原始性能。

在设计magento性能云时,可以通过全面的基础设施来管理像plesk和magento性能这样的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top