首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非常担心Magento的表演

非常担心Magento的表演
EN

Stack Overflow用户
提问于 2013-02-15 15:37:34
回答 7查看 4.8K关注 0票数 15

我目前有一个magento应用程序运行3个不同的商店:

此存储的数据库大小为370 in。这些商店共有9.000个SKU,它们有1k到2k的分组产品(与SKU相关)。

运行apache基准测试工具时,每秒会收到0.29个请求,我认为这是一个非常低的数字,即使对于magento存储。

不过,最大的担忧是后端。目前有5人通过后端更新和插入新产品,更新/插入一个产品需要4分钟的时间。这是对时间的极大浪费,我无法用我的一生来解释。

以下是我的服务器资源:

  • 处理器: Athlon X2 3400+ (2x1.8Ghz)
  • 内存: 4GB
  • 磁盘:2x500GB

我正在运行DebianLennyApache2.0,PHPVersion5.2.6-1+ Lenny 16,带有eAccelerator和Memcahed。(您可以查看所有的信息这里)

下面是我为Apache、MySQL和PHP编写的配置文件。

我不是一个服务器管理员(虽然我负责所有的网站和服务器本身),所以这不是我的“海滩”,可以说。我的问题是,这是我当前资源的工作方式,还是我在配置中遗漏了一些重要的东西?

我意识到这看起来像是我在找“掌上明珠”,但这不是我的意图。我只是厌倦了一遍又一遍地尝试新的东西,只是我似乎无法使它顺利运行。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-02-25 02:35:07

直截了当的答案是:服务器的电源不足。无论您如何配置它,您都需要为更适合Magento的环境进行升级。

来源:http://www.cpubenchmark.net/cpu.php?cpu=AMD+Athlon+64+X2+Dual+Core+3400%2B

不过请注意,上面列出的CPU是非常高端的CPU,与AMD双核芯片相比,处理器的处理能力大约是前者的10倍。我的笔记本电脑CPU是英特尔核心i7 2.2GHz的四核基准,在5,000左右.我建议您从在这里找到的清单中选择5,000以上的CPU。

16 an内存和SSD似乎也是明智的/合理的,因为它现在并不贵。

票数 6
EN

Stack Overflow用户

发布于 2013-02-15 19:22:15

对于像Magento这样的站点来说,缓存大小太低了。我运行了一个类似的站点,我们有256 we的缓存。使用16 to时,您将经常遇到缓存转储。

假设在Magento旁边没有其他巨大的运行,您的服务器资源就可以满足您的负载。这是一个猪,但它并没有那么糟糕,4gb的内存是足够的。

我会暂时禁用您的缓存,看看是否有任何改进。我还建议您查看Magento中的存储配置,因为您可能没有最佳的缓存配置--Magento的缓存设置既复杂又不透明。

票数 3
EN

Stack Overflow用户

发布于 2015-03-31 23:32:22

我知道这条线是古老的互联网时代。我只是想补充几点,我认为对大多数所有者/开发人员来说是最相关的。Magento性能可能是一个很深的话题,需要考虑很多事情,但希望了解几个要点会有很大帮助:

  1. 越能利用缓存(操作码缓存、MySQL缓存、全页缓存等),的重要性就越小。听起来很棒,因为您现在使用的硬件非常糟糕(如前所述)。您可以通过更好地利用缓存来解决这一问题,并在某种程度上掩盖性能问题。最重要的是设置完整的页面缓存(google)和操作码缓存。
  2. 虽然缓存将有助于加快速度,但当您访问非缓存的页面(如深度过滤的类别页、搜索页、购物车、结帐等)时,的硬件会很差。基本上,任何东西都是独一无二的。当访问者访问这些页面中的一个页面时,您的大多数cahces都会被绕过,然后它将归结为良好的硬件/配置良好的设置。此时,显然存在性能问题。
  3. 一般来说,更快的CPU (更高的GHz)意味着许多包含Magento (大致为14,000+)的文件可以被更快的处理。PHP几乎总是最大的瓶颈。
  4. 由于延迟较低,SSD将有所帮助,但它们确实有助于更大的目录(系统中更多的产品或订单)。在这种情况下,SSD通常会优于HDD (甚至15k rpm),因为数据分布在驱动器上的一个较大的部分,因此它必须反弹到硬盘上的不同物理位置,以访问各种MySQL表并访问数据。SSD能更好地处理这种“随机搜索”。如果您有足够的内存将整个DB加载到内存中,那么这并不重要,除非在结帐期间将订单写入数据库,或者为保存的购物车编写产品数据,等等。
  5. 一个常见的误解是,更多的CPU核心=更快的网站。这很有误导性。想想CPU就像一条主要的高速公路。核心就像高速公路上的车道,CPU GHz就像限速一样。你宁愿有20车道@ 50英里/小时还是1英里每小时100英里?取决于流量,对吧!更多的并发访问者在您的网站意味着更多的核心一般会有所帮助。如果您的流量相对较低,那么较少的核心,但更高的时钟速度是更好的。考虑到在管理区域工作的Magento cron、indexer和admins之类的东西都会增加负载。如果您还添加了一些缓存程序,如redis、memcache、清漆等,那么这些程序在高速公路上也会占用一些空间。
  6. 检查您的CPU或HDD是否过度工作的一种简单方法是检查服务器状态。尝试设置像沙尔这样的东西,每10分钟记录一次cpu /磁盘的统计数据,供您查看(可以自定义)。您将希望看到CPU的%空闲时间。更多的空闲时间=工作不太努力。可能不需要更多的核心。对于磁盘,请检查iowait列(或实时使用iostat )。如果你有一个高iowait,那么也许更好的磁盘或SSD将有所帮助。
  7. 您拥有的资源越多=您可以缓存更多的连接(以及您可以处理的连接)。对来自用户的每个连接(apache / nginx / mysql)和一般的系统开销都使用了一定数量的ram。你拥有的内存越多,你可以在内存中缓存的东西越多,速度就越快。例如,您可以调优MySQL并将大部分数据存储在内存中,这样查找起来就更快了。这是因为ram不仅具有较低的延迟,而且还需要更少的CPU周期来检索数据。其结果是更快的负载(有时只是轻微的)和更低的CPU负载。您可以在内存中存储会话、Magento缓存、完整页面缓存、MySQL数据和其他项。因此,您需要的数量可能会有所不同,但是这里有一个一般的经验法则:数据库的大小应该只占您内存的25-50%。如果您有一个1GB的magento数据库,您应该有大约4GB的内存。这显然会改变存储在内存中的会话或缓存页面等。
  8. 通常不会对用户页面负载产生严重影响,但更重要的是减少了服务器负载。的主要优点是它的服务器在物理上更接近访问者下载内容。当考虑到一个更近的服务器可能只会减少50毫秒的加载时间,这并没有那么大的影响。更重要的是,让CDN处理静态文件的所有请求可以使您的服务器主要处理动态请求。在某些情况下,这意味着CDN正在处理90%-99%加载在页面上的资产(图像、css、js等)。在流量尖峰/高负荷下,这可能是重要的。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14898092

复制
相关文章

相似问题

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