我该如何评估我的主机提供商“针对magento进行了优化”的声明?


How can I evaluate my hosting provider's claim to be "optimized for Magento"?

我目前负责运行、修改和调优Magento安装。我对我们目前的托管计划不满意,我正在寻找替代方案。我看到一些主机提供商宣称他们为Magento优化了他们的服务器(例如nexess, MageMojo),但他们似乎都缺乏技术细节。要为Magento优化服务器,与为其他重量级PHP/MySQL应用程序优化服务器有什么不同?

我目前的理解是,由于它的EAV数据模型和大量的XML配置文件,Magento的性能几乎总是受I/o限制——但我的理解是,对于大多数其他PHP/MySQL应用程序来说,这是正确的。基本上,RAM和内核比SSD空间便宜。

我如何判断这些"优化"是否值得面向magento的托管提供商收取的溢价?"优化"的说法是否有技术基础,或者Magento的优化是否与其他PHP/MySQL应用程序的性能优化相同?


注意:由于这个问题与网站的指导方针相抵触,让我们弄清楚一些事情:

    正确的答案应该是"不,Magento不是一个不寻常的PHP/MySQL应用程序,将它扩展到10,000个用户与扩展Drupal, WordPress或Joomla只有细微的不同!"或"是的,Magento有以下特点,这些特点需要应用程序进行重要的配置更改、优化技术或服务器调优,而其他PHP/MySQL应用程序不会使用这些特点。"所以这个问题确实存在一个明确的正确答案。我不打算自己实现这样的调优:如果我这样做了,我可能会问服务器故障。我问的是Magento的内脏,我问的是为什么它是这样执行的,我问的是与类似应用程序的内部比较,所以我问的是Stack Overflow。

除了正常:

    php版本
  • apc、缓存
  • 内存、cpu、磁盘空间、带宽等

像magento这样的东西有PCI合规性的问题。因此,您需要了解数据中心的物理安全性、mysql设置(确保它们不是共享sql服务器)等。最好使用专用服务器,或者至少是vps,这样你的资源/数据就可以与其他人的资源/数据隔离开来,这将有助于提高安全性。

我曾与一些信誉良好的Magento托管提供商合作,所以如果你有一些你正在检查,让我知道,我会让你知道我的诚实的想法

Magento是一个消耗cpu的巨兽,它内部复杂的多层对象架构(它允许在Magento核心代码之外进行非常重要的自定义,但它也实现了Zend框架的几乎完整的外观,而Zend框架本身并不以轻而出名)和伪形式集合代码比底层复杂但不那么糟糕的EAV DB模型确实是次优的。

因此,为主机优化magento的一个好方法是提供:
    像APC这样的PHP字节码优化器(因为magento中的单个调用可能会导致执行数万行PHP代码)
  • memcached优化结果&magento使用的会话存储(希望magento有配置选项,使其能够将memcached作为缓存引擎)
  • 理想的是一个清漆全页缓存代理,但要注意,这需要非常棘手的清漆配置才能使magento优雅地工作。

全页缓存将真正释放php代码执行的加载显示页面。memcached将提供对最后已知结果的快速访问&会话数据字节码优化器将减少php代码执行服务器端的负载。

然后,数据库本身必须以更"标准"的方式进行优化,使用与CPU内核匹配的InnoDB设置&