Cache Wordpress translations

时间:2017-02-05 作者:Lucas Bustamante

我正在调试一个缓慢的Wordpress网站,并在Webgrind上看到了这个XDebug报告:

webgrind report for slow wordpres website

大部分处理由翻译相关功能完成。

我想:

A)缓存翻译,使其只运行一次,或在cron触发时运行;B)如果无法缓存,则完全禁用翻译相关功能

1 个回复
SO网友:Tim

我回答了一个similar question on Stack Overflow 不久前

不要忘记探查器本身会增加很大的开销。如果使用XDebug时页面加载速度仍然很慢disabled 那么我认为您的问题不局限于翻译文件,您应该考虑缓存整个页面。

通过阻止加载所有翻译文件,可以消除MO文件加载问题。这很简单,只需一行:

add_filter(\'override_load_textdomain\', \'__return_true\');
如果这不能加快速度,那么缓存插件也不能。缓存MO文件只会节省从磁盘读取MO文件的开销,根据我的经验,这很少是一个瓶颈。MO文件是二进制文件,因此解析它们很快。

如果解析真的有所不同(关闭xdebug),那么可能磁盘读取速度较慢,需要考虑增强硬件。否则caching plugin 注释中已经给出了允许您使用快速内存缓存的选项。

无论字符串如何拉入内存(或不拉入),每次调用内部translate function 通过__ 朋友们仍然会被处决并做工作。在WordPress核心或其他无法硬编码文本的插件中,无法避免这种情况的发生。

相关推荐

Child Theme Performance

我在这里和其他地方读过很多关于创建子主题的讨论,这是基于其他现有主题创建主题的推荐方法。我想知道与创建非儿童主题相比,这种方法可能存在的性能劣势。似乎父子主题方法必须处理加载比单个主题多得多的文件,除非我在法典解释中遗漏了什么。如果是这样的话,它必须降低加载速度,可能会显著降低加载速度。如果有人能为我澄清这一点,我将不胜感激。