优化

无论您是在低成本共享主机上运行高流量WordPress安装还是在低成本共享主机上运行的小博客,都应优化WordPress和您的服务器以尽可能有效地运行。本文通过特定推荐的方法提供了WordPress优化的广泛概述。但是,这并不是对每个方面的详细技术解释。

如果您需要一个快速修复,直接去缓存部分,对于那里最小的麻烦,您将获得最大的好处。如果您想立即开始进行更彻底的优化过程,请转到您如何提高WordPress的性能

下面包括有关性能主题的广泛概述什么影响性能您如何衡量性能。这里讨论的许多技术也适用于WordPress多站点(MU)。

绩效因素

几个因素会影响您的WordPress博客(或网站)的性能。这些因素包括但不限于托管环境,,,,WordPress配置,,,,软件版本,图形数及其尺寸

这些性能降低因素中的大多数在本文中解决了。

顶部↑

托管

可用的优化技术将取决于您的托管设置。

顶部↑

共享主机

这是最常见的托管类型。您的网站将与许多其他网站一起托管在服务器上。托管公司为您管理Web服务器,因此您几乎无法控制服务器设置等。

与此类托管最相关的领域是:缓存,,,,WordPress性能内容卸载

顶部↑

虚拟托管和专用服务器

在此托管方案中,您可以控制自己的服务器。该服务器可能是专用的硬件或共享相同物理硬件的许多虚拟服务器之一。

关键是,您可以控制服务器设置。除了以上区域(缓存WordPress性能,这里感兴趣的关键领域是:服务器优化内容卸载

顶部↑

服务器数

在处理非常高的交通状况时,可能有必要使用多个服务器。如果您处于此级别,则应该已经采用了上面列出的所有适用技术。

WordPress数据库可以轻松地移动到其他服务器,仅需要对配置文件进行少量更改。同样,图像和其他静态文件也可以移动到替代服务器(请参阅内容卸载)。

亚马逊的弹性负载平衡器可以帮助传播多个网络服务器的流量,但需要更高的专业知识。如果您使用多个数据库服务器,则HyperDB课程为标准提供了替换WPDB类,并且可以处理复制和分区结构中的多个数据库服务器。

顶部↑

硬件性能

您的硬件功能将对您的网站性能产生巨大影响。处理器的数量,处理器速度,可用内存和磁盘空间的量以及磁盘存储介质是重要因素。托管提供商通常以更高的价格提供更高的性能。

顶部↑

地理距离

服务器和网站访问者之间的距离也会影响性能。内容交付网络或CDN可以在各个地理区域镜像静态文件(如图像),因此您所有的网站访问者都具有最佳的性能。

顶部↑

服务器负载

服务器上的流量以及如何处理负载的如何配置也将产生巨大影响。例如,如果您不使用缓存解决方案,则在其他页面请求进来并堆叠时,性能会放慢速度,通常会使您的网络或数据库服务器崩溃。

如果配置正确,大多数托管解决方案都可以处理非常高的流量。将流量卸载到其他服务器还可以减少服务器负载。

虐待流量,例如登录蛮力攻击,图像热链接(其他网站链接到您的图像文件,从高流量页面链接到您的图像文件)或dos攻击也可以增加服务器负载。识别和阻止这些攻击非常重要。

顶部↑

软件版本和性能

确保您使用最新软件也很重要,因为软件升级通常可以修复错误并增强性能。确保您正在运行最新版本的Linux(或Windows),Apache,MySQL/MariaDB和PHP非常重要。

顶部↑

WordPress配置

您的主题将对网站的性能产生巨大影响。快速,轻巧的主题的表现将比重型富有效率的图形效率更高。

插件的数量及其性能也将对您网雷竞技站的性能产生巨大影响。停用和删除不必要的插件是提高性能的非常重要的方法。雷竞技

跟上WordPress升级也很重要。

顶部↑

图形的大小

确保帖子中针对网络优化的图像可以节省时间,带宽并增加搜索引擎排名。

顶部↑

性能测试工具

  • WebPagetest是测试来自不同位置,浏览器和连接速度的现实生活网站性能的工具。
  • Google PagesPeed Insights是衡量您的WordPress网站的性能并收到有关如何改进的明确反馈的方法。
  • 内置的浏览器开发人员工具(即Firefox或Chrome)都具有性能测量工具。

顶部↑

如何提高WordPress的性能

顶部↑

优化您的WordPress网站

顶部↑

最小化插件雷竞技

提高WordPress性能的第一个也是最简单的方法是查看雷竞技。停用并删除任何不必要的插件。雷竞技尝试选择性禁用插件以测量服务器性能。雷竞技

您的插件之一会显着影响您网站的雷竞技性能吗?查看插件文档或在适当的插件支持论坛中寻求支持。

顶部↑

优化内容

  • 图像文件
    • 有没有不必要的图像?(例如,您可以用文本替换一些图像吗?)
    • 确保优化所有图像文件。为每个图像选择正确的格式(JPG/PNG/GIF)和压缩。
  • 总文件编号/大小
    • 您可以减少在网站上显示平均页面所需的文件数量吗?
    • 当仍在使用HTTP1时,建议将多个文件组合在单个优化文件中。
    • 缩小CSS和JavaScript文件。

你也可以卸载内容优化您的主题。

顶部↑

升级硬件

为您的托管提供商支付更高的服务水平可能非常有效。增加内存(RAM)或切换到具有固态驱动器(SSD)的主机,例如数字海洋可以产生很大的不同。增加的处理器数量和处理器速度也将有所帮助。在可能的情况下,尝试在多个服务器或VPS-E上使用不同功能(例如HTTP和MySQL)分开服务。

顶部↑

优化软件

确保您正在运行最新的操作系统版本,例如Linux,Windows Server和最新的Web服务器,例如Apache或IIS,数据库,例如MySQL Server和PHP。

也许您无法执行任务,并跟进下面的提示。只需要求您的托管提供商为您做。好的托管提供商将升级或将您的帐户移至升级的服务器,以匹配建议。如果需要,您可以切换到托管WordPress托管解决方案

DNS:不要在WordPress服务器上运行DNS。使用商业服务为Amazon的53号公路或您的域名注册服务商的免费产品使用商业服务。使用亚马逊等服务还可以使在维护或紧急情况下在备份服务器之间进行切换。它还提供了一定程度的容错。如果您在外部服务器上托管DNS,这将减少主Web服务器上的负载。这是一个简单的更改,但它将卸载一些流量和CPU负载。

网络服务器:可以配置您的Web服务器以提高性能。从Web服务器缓存到设置高速缓存标头,有一系列技术以减少每个访问者的负载。搜索您的特定Web服务器优化(例如,搜索“ Apache优化”以获取更多信息)。一些网络服务器具有更高的速度版本,您可以为此付费apache litespeed。还可以根据您的特定托管和网站配置来调整Apache的多种调整方法,例如memcache。

php:有各种可用的PHP加速器,可以显着提高PHP文件的性能。这将适用于所有PHP文件,而不仅仅是您的WordPress安装。搜索PHP优化以获取更多信息,F.E。APC或者opcache。如下所述的W3总缓存插件为Memcache,APC和其他OpCode缓存提供了集成支持。

mysql/mariadb:MySQL或Mariadb优化本身就是黑色艺术。查询缓存设置的一些简单更改可能会对WordPress性能产生巨大影响,因为WordPress在每个请求中都重复许多查询。如今,InnoDB是MySQL的默认存储引擎,您必须确保使用它。可以优化和微调InnoDB,搜索“ MySQL优化”,“ MySQL InnoDB性能”或“ InnoDB优化”或更多信息和示例。搜索“ MySQL将Myisam转换为InnoDB”,以获取有关如何将较旧的Myisam表转换为InnoDB的信息。

一个很好的例子,说明如何优化WordPressWordCamp San Francisco 2012的Iliya Polihronov。伊利亚(Iliya)确实对WordPress.com进行了服务服务器优化。

不要在WordPress服务器上运行邮件服务器。对于您的联系表,请使用免费邮件枪的联系表7之类的东西。

顶部↑

缓存

顶部↑

缓存插件雷竞技

雷竞技插件喜欢W3总缓存或者WP超级缓存可以轻松安装,并将您的WordPress帖子和页面作为静态文件缓存。然后将这些静态文件提供给用户,从而减少服务器上的处理负载。对于相当静态的页面,这可以提高几百倍的性能。

当与系统级页缓存(例如清漆)结合使用时,这可能非常强大。如果您的帖子/页面具有大量配置缓存的动态内容,则可能更复杂。

W3总缓存

W3总缓存(W3TC)是WordPress性能插件的最新一代,结合了雷竞技网络开发当局为WordPress站点提供最佳的用户体验。这些详细的指南使您穿越

W3TC具有优化服务器端和客户端性能的能力,否则添加了功能,否则本地不可用:

  • 页面缓存:W3TC通过创建页面的静态HTML版本来帮助减少响应时间,从而允许Web服务器在不调用PHP的情况下为它们提供服务。发表评论或编辑页面时,它会自动更新缓存。
  • 缩小:从HTML,CSS和JavaScript文件中删除不必要的字符,然后在缓存文件上应用HTTP压缩之前分别组合它们。
  • 数据库缓存:数据库查询(对象)也被缓存,允许许多站点减少生成新页面所需的时间。这对于接收大量评论的网站特别有用。
  • 标题:W3TC管理标题(实体标签,缓存控制,到期),该标题控制网络浏览器中文件的缓存,减少服务器负载并改善用户的感知性能。
  • 内容输送网络(CDN):使用CDN允许您卸载来自您的托管帐户的资源。W3TC将图像,CSS,JavaScript和其他静态文件的请求移至高性能服务器网络。最接近访问者的服务器自动用于下载文件,提供最快的下载。

W3TC可用于通过共享或专用托管在单人和多服务器环境中优化WordPress。

WP超级缓存

WP超级缓存是WordPress的静态页面缓存插件。它生成了HTML文件,这些文件直接由Apache提供,而无需处理相对较重的PHP脚本,从而帮助您在WordPress博客上取得显着速度增长。

使用WP Super Cache允许您的服务器以与常规图形文件相同的速度以相同的速度提供缓存的HTML页面。如果您的网站努力应对其日常访问者,或者出现在digg.com,,,,slashdot.org或任何其他受欢迎的网站。

顶部↑

服务器端缓存

Web服务器缓存‘更复杂,但在非常高的交通站点中使用。除本文的范围外,还有各种各样的选择。最简单的解决方案从当地的服务器缓存开始,而更复杂和涉及的系统可能使用多个缓存服务器(也称为反向代理服务器)“在Web服务器的前面”,其中WordPress应用程序实际运行。添加一个OpCode缓存替代PHP缓存(APC)到您的服务器将多次提高PHP的性能。

清漆缓存与W3 Grout Cache协同合作,将预先构建的页面存储在内存中,并快速提供它们,而无需执行Apache,PHP,WordPress堆栈。

如中所述,使用插件来进行评论,例如disqus而不是本机WordPress注释,可以通过不要求读者登录WordPress并增加Varnish可以从缓存中提供的页面视图的数量来帮助Varnish。

顶部↑

浏览器缓存

浏览器缓存可以通过减少每个页面的请求数来减少服务器加载。例如,通过在不更改的文件上设置正确的文件标头(例如静态文件,例如图像,CSS,JavaScript等),浏览器将在用户的计算机上缓存这些文件。该技术允许浏览器检查文件是否已更改,而不是简单地要求它们。结果是您的Web服务器可以回答更多304个响应,证实文件没有变化,而不是200个响应,这些响应需要发送文件。

查看HTTP缓存控制(特别是Max-age),并到期。实体标签了解更多信息。

W3总缓存集成了对浏览器缓存和ETAGS的支持。

顶部↑

进一步阅读

顶部↑

内容卸载

顶部↑

使用内容输送网络(CDN)

使用CDN可以大大减少网站上的负载。将图像,JavaScript,CSS和主题文件的搜索和传递卸载到CDN不仅更快,而且从WordPress服务器自己的应用程序堆栈中承担了很大的负载。如果与WordPress缓存插件(例如W3TC)结合使用,则CDN最有效。

Cloudflare是一个流行的内容交付网络,还提供Internet安全服务。计划从免费开始,但是其他功能可用于额外费用。CloudFlare是一种固定成本的CDN,这意味着它们是通过功能而不是用法收取的。CloudFlare允许您在回到原始主机之前通过其网络路由网站流量。

Amazon Cloudfront使用Amazon S3服务为您的静态文件提供内容传递网络(CDN)功能。CDN是一项服务,可在世界各地的许多Web服务器上缓存您的静态文件。无论您身在何处,都为您的用户提供更快的下载绩效。建议您与S3同时使用CloudFront,而不仅仅是单独使用S3;成本没有显着差异。

maxcdn是一个类似于Amazon CloudFront的按次付费内容交付网络(CDN)。差异包括对视频按需以及“镜像”(无需上传)文件的支持,尽管您可以在愿意的情况下上传。

另一个替代CDN提供商是keycdn。他们在他们的逐步提供WordPress集成指南支持页面

KeyCDN和MaxCDN是可用的最实惠的CDN选项之一,他们能够击败像亚马逊这样的竞争对手的价格,因为它们是更大的CDN提供商的部门。

顶部↑

静态内容

任何静态文件都可以将其卸载到另一台服务器。例如,任何静态图像,JavaScript或CSS文件都可以移至其他服务器。这是非常高性能系统(Google,Flickr,YouTube等)中的一种常见技术,但也可能对单个服务器挣扎的较小站点有所帮助。同样,将此内容移动到不同的主机名上可以为将来的多个服务器奠定基础。

某些Web服务器被优化以提供静态文件,并且可以比Apache等更复杂的Web服务器更有效地做到这一点Lighttpd

亚马逊简单存储服务(S3)是按下付费的专用静态文件托管服务。没有最低成本,对于达到共享服务器可以处理的峰值的较低流量站点可能是实用的。

顶部↑

多个主机名

还可以通过在多个主机名之间将静态文件分配来进行用户改进。大多数浏览器只能同时向服务器提出2个同时请求,因此,如果您需要16个文件,则会一次要求2。如果您在4个主机名之间传播,则将每次要求8个主机名称。这可以减少用户的页面加载时间,但是可以通过创建更多同时请求来增加服务器加载。同样,如果过度使用,“管道式”是“管道式”,通常可以使访问者的互联网连接饱和。

卸载图像是最简单,最简单的起点。所有图像文件都可以在三个主机名之间均匀分配(Assets1.yoursite.com,Assets2.Yoursite.com,Assets3.Yoursite.com)。随着流量的增长,这些主机名可以移至您自己的服务器。注意:避免随机选择主机名,因为这会影响浏览器缓存并导致更多的流量,并且还可能会产生过多的DNS查找,从而携带性能罚款。

同样,任何静态JavaScript和CSS文件都可以将其卸载到单独的主机名或服务器。

顶部↑

饲料

您的提要很容易被卸载到外部服务。饲料跟踪服务Google FeedBurner将自动执行此操作,FeedBurner服务器将处理所有供稿流量,仅每隔几分钟就会从您的网站上更新供稿。这可能是一个很大的交通救援者。

同样,您可以将自己的供稿卸载到单独的服务器(例如feeds.yoursite.com),然后处理自己的供稿统计 /广告。

顶部↑

进一步阅读

顶部↑

压缩

有多种方法可以在服务器上压缩文件和数据,以便将页面更快地传递给读者的浏览器。上述W3总缓存集成了对大多数常见压缩方法的支持。

W3总缓存支持Minify和整理,以压缩和组合您的样式表和JavaScript文件。它还支持输出压缩,例如Zlib,另请参阅输出压缩

压缩媒体文件(即图像)也很重要。这WP Smushit插件可以为此提供帮助。

顶部↑

数据库调整

顶部↑

清洁数据库

WP优化插件可以帮助您减少数据库中的额外混乱。

您也可以指示WordPress最小化修订数量它可以节省您的帖子和页面。

顶部↑

添加服务器

虽然它需要额外的专业知识,但添加服务器可能是提高性能的有力方法。我强烈建议阅读在AWS中架构一个高度可扩展的WordPress网站使用亚马逊的关系数据存储(RDS)构建更昂贵,高度可扩展的AWS实施的指南。

您可以使用亚马逊的弹性负载平衡器在多个网络服务器上传播流量,您可以使用HyperDB或亚马逊的RDS运行更多可扩展或多个数据库服务器。

顶部↑

自动加载选项

自动加载选项是插件和主题的配置设置,这些设置自动加载WordPress中的每个页面加载。雷竞技每个插件和主题都定义了自己的选项以及自动加载的选项。拥有太多的自动加载选项可以减慢您的网站。通常,您应该尝试将网站的自动加载选项保持在800KB下。

默认情况下,自动加载选项保存在wp_options桌子。可以在此表中以选项为单位关闭自动加载。有关查看和更改自动加载选项的分步说明,请与托管提供商联系。

顶部↑

其他资源

顶部↑

进一步阅读

顶部↑

WordCamp性能演示

本文是否有帮助?如何改进?