首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Magento这么慢?

为什么Magento这么慢?
EN

Stack Overflow用户
提问于 2009-10-29 02:32:41
回答 11查看 98.4K关注 0票数 141

Magento通常都这么慢吗?

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

它所在的服务器为其他非Magento站点提供服务的速度非常快。Magento使用的PHP代码是什么让它变得如此缓慢,可以做些什么来解决这个问题?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-10-29 09:55:06

在优化Magento以提高性能方面,我只做了一些零碎的工作,但这里有几个系统如此缓慢的原因

Magento的

  1. Parts使用在MySQL上实现的EAV数据库系统。这意味着查询一个“东西”通常意味着查询多行
  2. 有很多东西在幕后(应用程序配置,系统配置,布局配置,等等)。这涉及到在内存中构建巨大的XML树,然后“查询”这些树以获取信息。这需要内存(存储树)和CPU (解析树)。其中一些(特别是布局树)很大。此外,除非启用了缓存,否则这些树是从磁盘上的文件构建的,每个request.
  3. Magento上的和都使用其配置系统来允许您覆盖类。这是一个强大的特性,但它意味着任何时候实例化模型、帮助器或控制器时,都需要运行额外的PHP指令来确定是否需要原始类文件或覆盖类文件。
  4. 除了布局系统,Magento的模板系统还涉及到大量的递归渲染。这是合理的。

一般来说,Magento工程师的任务首先是构建最灵活、最可定制的系统,然后才是性能问题。

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

您要做的第二件事是确保您的主机和操作团队具有性能调优Magento的经验。如果你依靠每月7美元的计划来帮你度过难关,那么,祝你好运。

票数 188
EN

Stack Overflow用户

发布于 2009-10-29 17:02:06

根据Alan Storm关于缓存的建议,我特别推荐您研究与缓存相关的两件事:

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

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

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

-启用模板/视图缓存。

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

magento网站上也有很好的(google magento块缓存),但目前它已经关闭了。

为了补充我对块缓存的看法,我建议您在/app/code/local中创建自己的块,扩展核心块并定义缓存参数,将它们命名为xxx_Cache,然后更新布局以使用这些块而不是核心块。这样,您就可以避免在升级magento时丢失更改或破坏系统。

票数 55
EN

Stack Overflow用户

发布于 2010-01-08 07:16:51

如果你还没有看过,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-Perf-WP-final.pdf

(感谢Alan Storm在这一点上。)

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1639213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档