WPML

我们很高兴地宣布发布 WPML 3.1.9 的首个 Beta 版,该版本与对象缓存完美兼容。如果您希望大幅提升包含大量字符串的大型网站的性能,那么这就是为您准备的。

WPML 的字符串翻译具有非常重要的功能,允许您翻译字符串而无需处理 .mo 文件。这对于动态字符串尤为重要,因为它们是在数据库中创建的,而不是存储在 PHP 代码中。

WPML 3.1.9 是迈向大幅性能提升的第一步。在这一步中,我们允许对象缓存插件捕获重复访问并将其消除。我们尝试了不同的缓存技术,最终确定了表现最佳的方案——“在 WPML 中不进行缓存”。这可能有点令人惊讶,但实际上是有道理的。缓存插件试图对操作进行分组,并将它们作为更大、更快的块存储在内存中。当 WPML 试图自己缓存字符串时,会导致对象缓存变得毫无用处。

在这个版本中,我们彻底清理了缓存,优化了数据库访问,并使所有内容都可以被对象缓存访问。这有助于简化我们的逻辑(更少的 PHP 处理,更少的故障几率),同时也允许对象缓存发挥其作用。

许多网站几乎看不到性能提升,因为字符串翻译的负载在整体页面负载中所占比例并不大。一些拥有大量字符串的网站将会看到显著的改进。即使没有对象缓存,它们的数据库查询也应该已经大大减少了。而且,通过启用对象缓存,它们有可能获得更大的性能提升。

如何使用 W3TC 启用对象缓存


对象缓存需要一些规划和设置。以下是您需要准备的元素清单:
  • 一个 opcache PHP 插件(不要与 WordPress 插件混淆)
    • 对于 PHP < 5.5 => 使用 APC,设置足够的内存(对于大型网站,尤其是 WCML,128MB+ 是个好主意),在生产环境中将 apc.stat 设置为 active
      • 知道自己在做什么的用户也可以尝试将 sitepress.class 和我们其他非常大的文件从 APC 中排除,这可能会带来可观的收益
      • 通过 pecl 安装
    • 对于 PHP >= 5.5 => 使用 ZendOpcache,它目前速度更快,而且配置起来容易得多
      • 通过 pecl 或在编译 PHP 时安装
  • 在 W3TC 内部
    • 为各种缓存选项(数据库、对象等)选择您使用的 OpCache 插件,不要在这里的任何地方使用 Harddrive!
    • 小心输出的 gZip 设置(除非您有强大的 CPU,否则这似乎会拖慢速度)
  • PHP 配置:
    • 设置足够的 RAM
    • 激活 PHP 查询缓存(与 W3TC 没有严格关联,但在某些地方帮助很大)
  • MySQL 配置:
    • 如果您没有任何复杂的 memcached 设置 => 尝试 MySQL 查询缓存,它应该能带来显著的收益,尤其是使用新的 ST 时

下载并试用 WPML 3.1.9


由于这是一个 Beta 版,您需要手动下载它。登录您的 WPML.org 帐户并单击“下载”。

一直滚动到底部并获取 CMS Beta Package。这是一个包含其他 ZIP 文件的 ZIP 文件。在本地解压缩它。现在,您可以将 ZIP 文件上传到 WordPress(它会自动提取它们),或者自己提取并保存在 plugins 文件夹中。

有问题?建议?想法?请留下您的评论,我们会尽快回复您。

觉得有用吗?分享这篇文章: