我经常看到有人提到他们使用Magento的编译器功能。
我从不奇怪,您应该在哪种情况下使用它,然后获得多少性能提升。
[免责声明]:因为最近我对此有一个编辑建议。这个问题与magento2双编译无关,甚至与magento2无关。
我经常看到有人提到他们使用Magento的编译器功能。
我从不奇怪,您应该在哪种情况下使用它,然后获得多少性能提升。
[免责声明]:因为最近我对此有一个编辑建议。这个问题与magento2双编译无关,甚至与magento2无关。
Answers:
[免责声明] 此答案仅适用于Magento 1中的编译器,Magento 2中的编译器具有完全不同的目的/效果
您永远不要使用它。
因为PHP已经开发了多种机制来改进包含大量文件的应用程序。
意思是:如果正确配置,当前php版本中的php opCache会带来更好的性能改进。例如,对缓存的文件使用足够高的限制。另外,opCache还改进了访问文件系统的功能,这些功能在比aoe_classpathcache更深的层次上起作用,并进一步提高了性能。
最后,我们有了一个自动加载功能,不需要编译器就不需要几毫秒的时间。甚至在某些情况下,编译器会损害性能。更不用说使用编译器调试应用程序的疯狂耗时的问题了。
另外,opCache不仅改善了自动加载,文件系统功能的优化甚至改善了模板和布局文件的加载。
realpath_cache_size=64k
和realpath_cache_ttl=3600
。64k似乎是最佳选择,人们推荐了更多的东西,但是性能测试表明它浪费了内存。
“何时应使用Magento编译器”
如果由于某种原因您的系统未安装PHP Accelerator (不太可能,但可能)
如果您运行的是很旧的magento版本(您实际上不应该这样做)
为什么要禁用它?
我完全同意Fiasco Labs的上述评论。虽然您没有提供magento版本号,但是如果您在整个商店中已经具有php加速器(如PHP-APC等)的系统上启用了编译器,则对于1.6.1以上的所有magento(CE)版本都是如此。 ,从管理页面到客户结帐的速度将明显变慢,甚至更糟,在magento connect上找到的许多插件/模块在编译器处于活动状态时将无法正常运行。
简而言之,2014年从来没有任何理由启用编译器。