我目前有1个magento应用程序运行3个不同的商店:
此商店的数据库大小为370MB。这些商店共享9.000 SKU,并且每个商店都有1k到2k组产品(与SKU相关)。
运行apache AB基准测试工具,我每秒可以获得0.29个请求,即使对于magento商店,我认为这个数字非常低。
最大的担忧是后端。目前有5人通过后端更新和插入新产品,更新/插入一个产品需要4分钟。这是浪费大量时间,我不能为我的生活解释它。
以下是我服务器的资源:
我正在使用eAccelerator和Memcahed运行Debian Lenny Apache 2.0,PHP版本5.2.6-1 + lenny16。 (您可以查看所有信息here)
以下是Apache,MySQL和PHP的配置文件。
我不是服务器管理员(虽然我负责所有的网站和服务器本身),所以这不是我的“海滩”可以这么说。我的问题是,这是应该使用我当前资源的方式,还是我在配置中遗漏了一些重要内容?
我意识到这可能看起来像是在寻找“手持”,但这不是我的意图。我只是厌倦了一遍又一遍地尝试新东西而且我似乎无法让它顺利运行。
答案 0 :(得分:6)
直截了当的答案是:服务器功能不足。无论您如何配置,您都需要升级到更适合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。我建议你从list found here获得5,000以上的CPU。
16GB内存和SSD也似乎合理/合理,因为它现在不花费太多。
答案 1 :(得分:3)
对于像Magento这样的网站,您的缓存大小太低了。我运行一个类似的网站,我们有256mb的缓存。有了16mb,你将不断地进入缓存堆。
您的服务器资源适合您的负载,假设Magento旁边没有其他任何东西在运行。这是一场生猪,但它并没有那么糟糕,4GB的RAM已经绰绰有余了。
我会暂时禁用您的缓存,看看是否有所改善。我还建议您查看Magento中的商店配置,因为您可能没有最佳的缓存配置 - Magento的缓存设置很复杂且不透明。
答案 2 :(得分:3)
我知道这个帖子是古老的网络时间。只是想我添加一些我认为与大多数业主/开发人员最相关的要点。 Magento的表现可能是一个深层次的话题,许多事情都会引起人们的关注,但希望能够理解一些要点将会有很长的路要走:
iowait
列(或实时使用iostat
)。如果你有一个高iowait,那么更好的磁盘或SSD将有所帮助。答案 3 :(得分:2)
我为一家处理超过7个网站的30k +产品的公司进行网页开发,我们通常会尝试避免使用管理员上传/编辑产品。我们使用magmi进行上传和修改。我们对这款产品非常满意。 您使用的是ligtspeed服务器吗?
答案 4 :(得分:1)
如果您正在运行虚拟服务器,可能会考虑使用Nginx作为Apache替代品。我发现这可以带来一些性能提升。另请参阅实现某种缓存。我建议使用Memcached或Redis(如果你可以运行它)。毫无疑问,这将为您带来巨大的性能提升。
Magento是一个数据库密集型系统。根据您网站的繁忙程度,您可以添加更多内存,以确保您有足够的内存来处理正在运行的进程数量。
答案 5 :(得分:0)
Magento需要大量资源。后端结构是一种缓慢且难以优化的东西。但我建议从csv / xml导入所有产品,而不是手工完成。你会找到很多这方面的教程。
为了优化前端,这里有一些提示:
请参阅GTMetrix以了解您的效果指标:http://gtmetrix.com/reports/www.belexpress.eu/k2bPETVr您的主页太大了。首次加载时页面不应超过1MB。你应该使用延迟加载,优化图像等来加快速度。
一些提示可以提供非常好的性能,但是你需要一个更大的服务器,如果你的网站产生流量并且你每月可以获得500美元用于托管,你可以找到非常强大的服务器配置,如6个四核,48GB RAM,SSD磁盘,10GB / s网络,带宽不受限制。
如果您选择更好的托管解决方案(使用功能更强大的服务器),您可以通过将RAM作为最常用的目录来获得性能,例如/ var和/ include / src(如果您使用编译)。只有在你不对代码进行日常更改时才使用编译,如果不这样做,编译+ mount / include / src,因为RAM将为你带来非常好的性能提升。
我不太了解eAccelerator和memcached,personnaly我使用APC,我用Varnish取代了端口80。这为我的网站提供了额外的速度。
让Magento快速奔跑是优化各方面的日常工作,没有任何魔术技巧。
此致
答案 6 :(得分:0)
如果你完成了开发,我会禁用mysql上的慢速查询记录(从my.cnf复制的行):
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
您没有发布.htaccess文件,其中可以覆盖某些php和apache设置。
您是否已将缓存设置添加到/app/etc/local.xml?如果没有,请查看/app/etc/local.xml.additional并应用最适合您的方式。