WordPress插件Scalability Pro汉化版是一款网站可扩展优化和性能提升插件,可帮助您确定和解决站点潜在的和现有的可扩展性问题。可伸缩性与性能不同-可扩展性与网站保持良好性能有关。可扩展性高的网站不会随着您的网站变大而放慢速度。
Scalability Pro插件可帮助您优化大型和重型WordPress网站。消除慢速和冗余查询(使用索引),优化数据库查询。
Scalability Pro通过优化底层数据库查询性能,帮助您确定并修复网站中潜在的和现有的可扩展性问题。可扩展性与性能并不完全相同,它与您在网站变大时可以保持网站快速运行的性能有关。可扩展性高的网站不会随着您的网站变大而变慢。 Scalability Pro插件是WP Intense的核心插件,可改变WordPress网站的速度和可扩展性。网站体量越大,该插件的效果越明显。
如果没有Scalability Pro,则超过5000个产品,订单或用户后,您的网站上的性能可能会下降。缓存系统可以提供一些帮助,但是您真正需要的是确保网站可扩展,无论您的网站多大。在拥有1,000,000个用户时,可扩展网站在生成网页方面的感知速度与在10,000个用户时一样快。
Scalability Pro helps you identify and fix potential and existing scalability issues with your site. Scalability is not quite the same as performance – it’s related to how well you can keep your site performing fast as your site gets larger. A highly scalable site will not slow down as your site gets bigger. The Scalability Pro Plugin is the core WP Intense plugin to transform the speed and scalability of your WordPress site.
Demo: https://www.wpintense.com/product/scalability-pro/
Scalability Pro是如何工作的?
- 使WP_Query闪电般快速
- 通过优化基础数据库和查询并消除表扫描来工作
- 提供选项来更改或删除缓慢的WooCommerce和WordPress功能
- 完美补充缓存系统
- 加快慢速查询的速度–安装Query Monitor插件并查看最慢的页面,如果您看到正在报告的慢速查询,则Scalability Pro将为您提供帮助。相反,如果您看到成千上万的查询发生,则有针对该类型性能问题的单独解决方案。
- 它将索引添加到您的核心WordPress数据表中,以帮助优化基础SQL查询
- 它更改数据库查询以使其更加高效,从而避免了全表扫描
- 它提供了禁用,更改或微缓存慢速WordPress / WooCommerce /导入功能的选项
三管齐下的方法实现真正可扩展性
Scalability Pro与Redis对象缓存和高质量的托管叠加结合使用时效果最佳。仅靠这些中的任何一个是不够的。如果激活Redis时在查询监视器中注册了太多查询(超过1000个),则相关插件未使用对象缓存。如果是这种情况,您应该联系插件作者并告诉我们。我们可以为他们提供有关如何正确利用其对象缓存来修复其插件以正确扩展的建议。如果您仍然看到查询慢而不是查询太多,那么Scalability Pro遗漏了一些信息-请让我们知道,我们将努力修复它。
可扩展性的五个问题领域
随着网站的扩大,查询速度变慢–这就是Scalability Pro派上用场的地方。当您的网站较大时,它会使慢速查询提速运行。
查询量太多–如果插件作者未实现对象缓存支持,那么Redis Object Cache插件可帮助解决此问题。
PHP中的RAM和CPU消耗过多–您会看到SQL时间短,查询数量少,但是页面生成时间长和RAM使用量大。您可能会发现一些返回超长的查询结果,通常返回的行数超过5000。这些插件在每个页面加载时用那5000行填充对象。通常,可以通过实现对象缓存来解决此问题-但它取决于数据类型。
API调用速度慢–您的网站可能正在使用ajax,或者它正在调用第三方API。当管理员登录时尤其如此,尤其是在仪表板和插件页面上,尤其是在您拥有未经许可的插件而不断尝试自行更新的情况下。
托管质量差–确保您获得高质量的托管堆栈。PHP 7,MySQL 8,nginx,fastcgi_cache或某种http加速器,仅在内存中进行redis并正确配置。
关于表扫描和页面缓存的注意事项
WordPress在很多情况下都会对数据库进行全表扫描。例如,“价格筛选器”使表格扫描获得最大和最小价格范围,这意味着您的页面正在读取数据库中的每个项目以收集此信息。当您在WooCommerce商店中只有几百种产品时,您将永远不会注意到。但是一旦达到几千或数万或数十万,这个量级对您的服务器来说是个噩梦。
这种情况下,页面缓存能派的上用场-特别是如果您可以在Nginx或Varnish级别实现缓存。但是,即使您拥有一个体量巨大的网站,无法缓存所有内容,因此对于新生成的页面,您的网站仍然需要快速。
这就是为什么消除表扫描对于解决WordPress可伸缩性问题至关重要的原因。写得很好的SQL查询不是遍历数据库中的每一项,而是仅读取它们需要读取的20个项目 才能在页面上显示20个项目。
Scalability Pro通过加快WP_Query来提升存档页面的速度
存档页面是WordPress网站上包含其他页面列表的页面。您的博客/ 商店 /页面,自定义文章类型归档,类别或作者归档。一旦拥有更多列表,所有这些列表的生成就会变慢。
可伸缩性是为了避免随着数据量变大而降低速度。通过避免表遍历扫描,可以使一百万个产品商店的响应速度与20个产品商店一样快。
Scalability Pro加快了您的导入速度
诸如Datafeedr和WP All Import之类的插件将有关导入及其使用的SQL查询的信息存储在wp_postmeta中,从而导致表扫描发生。导入时,他们将检查wp_postmeta中的某些值(表中的meta_value列)。默认情况下,WordPress在此表上没有索引-可能是因为meta_value是一个变长的“文本”字段,其大小未知。但是,您仍然可以在前几个字符上创建索引,从而大大加快了对该表的大多数检查。
Scalability Pro还提供了一个选项,使您可以将词条计数推迟到凌晨2点。词条计数涉及重新计算类别或分类法中项目(文章,产品,自定义文章类型)的数量。导入时,这意味着每个单独项目之后的词条计数。如果要导入10,000种产品,则可以通过推迟词条计数来进行,当导入完成时可以运行一次计数,而不是10,000次。
如果您遇到的导入越慢,数据库越庞大,Scalability Pro将为您提供帮助。
Scalability Pro总体上加快了wp-admin和您的网站的速度
这13个索引可加速您的网站(包括wp-admin)中的多个查询。
其他选项可用于加速wp-admin存档页面(例如,文章列表或产品列表)和编辑页面。
Scalability Pro安装和选项
转到“插件”->“添加新项”,然后浏览至Scalability Pro的zip文件。上传然后激活。
安装并激活Scalability Pro后,应访问“设置”->“ Scalability Pro”页面。
单击设置页面上的大按钮以创建索引。这是一项一次性操作,即使您停用了插件,索引也将保留在原位。如果要在停用之前删除索引,则应单击按钮以删除索引。
在较大的站点上,创建这些索引可能需要一些时间,但是您可以离开页面,然后在需要时稍后返回。
在索引列表下方,您将找到Scalability Pro的各种选项。
Scalability Pro选项
以下选项涉及删除,更改或微缓存WordPress的某些慢速部分。
我们已尝试将这些分组最好地分组,并且启用了一些关键的默认设置。请仔细阅读每个项目旁边的说明,以了解是否应该激活它。这些选项是“安全的”,因为当您将选项改回时,您的站点将像以前一样。
每个选项都告诉您在性能之前和之后要检查的页面类型。您可以在下面阅读有关每个选项的更多信息,并在下面的视频中使用演示站点上的百万个产品来查看Dave。
更快的存档页面–优化WP_Query
要查看当前的WP_Query速度,请安装并激活免费的Query Monitor插件,然后访问最慢的存档页面。存档页面是列出多个其他页面的任何页面。您有一个博客文章列表–这是一个存档页面。您可能有产品页面,这些页面是存档页面。您可能有一个类别页面,其中列出了该类别中的项目,任何文章列表都是一个存档页面。
删除排序选项
此选项使您可以对wp_posts使用自然索引排序顺序。当WP_Query(由WooCommerce,自定义文章类型和博客存档使用)来获取数据时,它提供排序选项,并且这些排序选项需要检索到的数据的全部种类。在/shop/或大型顶级类别上,这意味着全表扫描或索引扫描可能需要几秒钟的时间,从而影响磁盘和CPU。
注意: 使用自然排序顺序将禁用您当前为用户提供的任何排序选项,并恢复为自然排序顺序(通常按日期DESC排序)。如果选择此路线,则应隐藏这些排序选项。
删除分页
当WP_Query获取文章/产品时,它还会计算匹配产品的总数。这对于显示在商店/页面的顶部很有用,例如显示150,000 / 650,000。但是,此计数需要索引扫描或表扫描。删除它可以提高WP_Query的速度。
根据您的设置,您可能还需要切换到上面的自然排序顺序才能成功使用索引。
注意:如果删除分页,建议无限滚动。
更改主查询以使用EXISTS而不是LEFT JOIN
警告–实验性功能! (大约80%的兼容性)此选项将尝试将主WP_QUERY SQL调用更改为使用WHERE EXISTS而不是LEFT JOIN。
这意味着SQL查询可以避免使用GROUP BY。此功能还可以消除对结果的排序。
在许多情况下,它可能导致索引被正确使用,并且可以避免表扫描。在我们的参考服务器上,它将4.6秒查询(820,000个产品)转换为0.05秒查询。
它绝对不会更改管理员查询,否则我们可能会不小心破坏您的wp-admin页面。将来,一旦证明它具有弹性,它也可以用于优化wp-admin调用。
通过SQL优化WooCommerce分组查询
在某些情况下,即使不需要,WooCommerce也会运行GROUP BY查询。这将导致索引扫描或表扫描,然后进行排序。如果看到兼容性问题,则可以尝试禁用此选项,否则选择优化。
更快的产品详细信息或单个文章页面
如果您的产品详细信息或单个页面包含运行SQL的窗口小部件,这些窗口小部件通过上面的“归档”优化进行了优化,那么这些页面将因此而变得更快。
也有此选项,专门用于WooCommerce产品变体
删除WooCommerce Ajax变体计算
如果您的产品具有很多变化,则WooCommerce将运行一些慢速代码来计算产品详细信息页面上的变化。通过禁用此功能,当用户单击速度更快的版本选项时,它会强制运行一些Ajax代码。
更快的导入–优化wp_postmeta
延期计算
通过将术语计数(每个类别的项目计数)推迟到每夜工作来帮助优化导入和其他批量修改。如果要导入10,000个产品,则这会将10,000个耗时的重新计数更改为1个重新计数。
特定的WooCommerce优化
以上所有选项对WooCommerce都有帮助,但是,如果您有大型站点或大量订单,则这些特定的WooCommerce选项将对您有所帮助。
优化WooCommerce更新
WooCommerce在多个页面上都有代码,这些代码强制删除与WooCommerce版本升级有关的wp_options。这些删除操作以无法使用wp_options上的索引的方式编写。这意味着,如果您有很多选择(例如,很多瞬态),您的wp-admin页面将被间歇性锁定–在我们的参考站点(820,000多种产品)上,这种间歇性关闭可能会持续3分钟。反过来,这意味着这些“更新”从未真正完成。
启用此选项可使Scalability Pro重写这些删除操作以能够使用索引,并使删除操作几乎立即生效。默认情况下启用此选项。
删除WooCommerce订单摘要
如果您有很多订单,您会注意到wp-admin页面的速度变慢。WooCommerce运行“订单摘要”仪表板脚本,您可能从未看过或使用过该脚本,它可能会增加wp-admin页面加载的时间,具体取决于您的订单量。
进入WooCommerce-> Reports,订单摘要仍然可用,此选项仅删除仪表板小部件,默认情况下处于启用状态。
更快的WP-Admin页面,文章和产品归档
删除postmeta查询上的CAST转换
许多wp_postmeta查询都将CAST函数应用于“值”列。这种转换是多余的,因为MySQL在必要时会自动CAST,但更糟糕的是,由于应用了函数,mysql无法使用我们在这些列上创建的任何索引。强烈建议您将其删除。
删除文章类型类别下拉菜单
如果您有很多类型的项目(文章,产品等),则wp-admin存档将很慢。
有3个原因-post_type下拉列表,post_status计数和post类别下拉列表。
通过此选项,您可以优化所有这三个下拉菜单,以便您的存档页面快速运行。您可以删除功能或对其进行微缓存。如果被缓存,则下拉列表将在每晚重新生成。
更快的WP-Admin页面,后期和产品编辑
删除自定义元选择框
wp-admin中的页面和后期编辑页面包含一个写得不好的sql查询,无法填充“ custom meta”选择框。这是多余的,因为如果要编辑meta,可以键入meta名称。强烈建议您将其删除。
如何判断Scalability Pro是否会帮助您解决特定的可扩展性问题
WordPress中有3个常见的可扩展性问题来源。
可伸缩性问题的第一个来源是,如果您有一个(或多个)插件,这会导致发生过多的SQL查询。
在这种情况下,Scalability Pro的影响较小,更好的解决方案是找出哪个插件引起太多查询,并用替代插件替换它们,或者只是删除它们。
第二个原因是SQL查询返回所需的时间太长。在这种情况下,Scalability Pro绝对可以帮助您改变网站的速度和可扩展性。
第三个是如果您的服务器或服务器堆栈速度较慢(至少应针对SSD,Nginx,PHP7和PerconaDB或MariaDB)
要检查查询是否太多或查询是否慢速,请安装查询监视器插件并访问您的慢速URL。查看顶部的“查询监视器”栏,并查找它提供的4个值:
使用上面的示例,这些数字是:
- 包括PHP和MySQL的总时间:2.92秒
- 页面大小:9.95MB用于生成此页面
- MySQL总时间:DB时间2.36秒(这是很多!)
- MySQL查询总数:54个查询(数量不多)
在上面的示例中,查询不是太多– WordPress的查询量不是54。如果您有超过400个查询,则应使用查询监视器来找出罪魁祸首插件。
如何解决大量查询
如果查询数量很多,则应单击“查询监视器”栏,然后单击“按组件查看查询”。查询监视器将为您提供导致这些查询的插件的摘要。
注意:如果您在一个插件(例如WooCommerce)中拥有大量插件,则可能经常是由WooCommerce的插件或小部件引起的,因为这些插件或小部件将挂接到WooCommerce的“操作”中,从而使Query Monitor很难告诉您真正的来源查询。
您可以深入查询,以查看用于生成此查询的文件。通过向后追溯,您可以找到问题插件。
另一种方法是简单地禁用一半的插件,检查查询数量是否减少(如果已减少),然后重新启用一半的插件,直到缩小问题范围。
如果您的查询数量较少,而页面速度较慢是由查询速度慢引起的,请安装并激活Scalability Pro,让它为您解决这些问题。
考虑替换您的WooCommerce小部件和WooCommerce短代码
默认的WooCommerce简码会导致数百或数千个查询以及表扫描发生-即使安装了Scalability Pro,这也会降低性能 。
默认的WooCommerce价格过滤器会导致表格扫描-即使安装了Scalability Pro,这也会降低性能。
如果您正在寻找替换过滤器,请查看我们的Faster Woo Widgets插件–作为Performance Plugin Pack的一部分,您可以获得Scalability Pro和Faster Woo Widgets插件。
英文原版链接:
延伸阅读
- 网站优化加速优化WordPress插件Hummingbird Pro汉化版 (1.000)
- WordPress插件Fastest Cache Premium汉化版_页面缓存网站加速器 (1.000)
- WP Smush Pro汉化版_图片压缩SEO优化WordPress插件 (1.000)
- WordPress插件Perfmatters汉化版_轻量级网站速度优化器 (1.000)
- Asset CleanUp Pro汉化版_页面加速器WordPress插件 (1.000)
- Swift Performance Pro汉化版 | 页面缓存网站优化WordPress插件 (1.000)
- Simply Static Pro全静态页面站点生成器WordPress插件 (RANDOM - 1.000)