4

运行 Magento Enterprise 1.9,我注意到购物车中有 20 多件商品,网站变得非常缓慢。比如,“10 秒加载一个页面”很慢。当我将其增加到 100 个项目时,该网站变得完全无法使用。

这甚至不在购物车或结帐页面上!它在任何页面上。

我可以做些什么来减轻这种性能影响:

1) 在全球范围内,在所有页面上?

2) 在购物车/结帐页面上?

谢谢

4

3 回答 3

6

太多的观察者观察和评论他们在购物车中观察到的每条产品线。如果你不做可下载的产品或乱搞 RSS,这些模块可以在它们的控制文件中设置为 active=false 来关闭模块,让观察者去牧场并加速购物车功能。

他们的开销是惊人的......随着行数的增加,结账速度会呈指数级增长。

app/etc/modules/Mage_Downloadable.xml<active>行设置为false.

app/etc/modules/Mage_All.xml找到Mage_Rss 的<active>行并设置为false

Rafael Kassner 提出了造成这种情况的原因http://www.kassner.com.br/en/2011/01/07/magento-slow/

标准免责声明、YMMV、在开发服务器上进行测试等,然后在您的实时服务器上释放。

http://www.magentocommerce.com/boards/v/viewreply/306872/

于 2012-11-28T01:14:27.820 回答
2

Magento 是一个非常复杂和灵活的系统,因为它的 MVC 系统和 EAV 数据库结构,但因此它非常耗费资源。您需要优化您的服务器以处理此问题。这些有用的指南是http://www.magentocommerce.com/whitepaper/。考虑 apache、mysql 和 php 设置。

除此之外,您还需要像 APC 或 Memcached 这样的缓存系统来停止在每个请求上加载所有 magento 文件。根据流量、并发用户等,您将需要一个强大的服务器。我正在运行一个具有 16GB 内存的专用四核 ubuntu 服务器和一个专用数据库服务器来运行我的商店。

关于 100 件商品的购物车,这真的可能发生吗?在购物车页面上,magento 将从数据库中加载所有 100 种产品,这将非常密集,因此如果发生这种情况,您需要查看上述所有要点。

安装 APC 非常简单,并且会立即产生戏剧性的效果。另一方面,调整服务器更多的是尝试错误。互联网上有很多工具可以帮助解决这个问题,我会首先使用负载影响测试来查看它一次可以处理多少用户以及每秒的请求数等。

还有一些模块可以开始缓存整个页面,但不确定这是否有助于您的 100 件购物车场景,这主要是我认为的数据库瓶颈。

于 2012-11-27T20:46:02.937 回答
0

我认为这与 Magento 如何使用其属性有关。放慢速度的不是数据库请求本身(总共大约 0.06 秒)。

我遇到了同样的问题,而且可配置的产品也很慢。

我发现一些网页的代码可以优化属性处理。(这当然意味着更多的内存缓存:-)

于 2015-05-28T16:10:39.463 回答