优化方案介绍
整个优化方案分为 3 篇文章,争取写个由简入深的介绍,希望没有技术背景的站长都能看懂:
- 第一篇介绍加速的原理(本篇也就是第一篇了)
- 第二篇介绍加速插件
W3
Total
Cache
- 第三篇介绍
MySQL
的优化
一、主机选择
由于本篇是整体优化,所以必须要能配置主机 PHP
、 Nginx
、MySQL
这些相关软件,所以,这篇文章是按照此类主机写的,如果您的主机不能配置这些,那么也可以看看相关原理,再自己动手想办法进行优化。
二、软件环境的选择
64 位 CentOS
、Nginx
、PHP
-FPM
、APC
、Memcached
、MySQL
,这里介绍一下 Nginx
、PHP
-FPM
、APC
、Memcached
这 3 个是什么。
PHP
-FPM
可以理解成单独的 PHP
服务器,简单的理解就是如果你使用了 PHP
-FPM
,那么你的 PHP
脚本就不必和 Web
服务器放置在同一个服务器上,而且支持负载均衡。一个 Nginx
可以和多个 PHP
-FPM
服务器协同工作。
APC
是 PHP
缓存工具。PHP
每次处理请求都会要重新编译源代码,APC
就是负责把编译好的执行文件存储再内存中,下次调用的时候就不必再重新编译了,极大提高了访问速度。
Memcache
也是一个内存工具,它的主要作用是将一些静态化的内容存储再内存里面,这样当下次用户访问时,不必读取硬盘,访问速度自然大大加快。Memcache
可以用来存储 Session
。具体安装方法请看:VPS
安装 Memcached
对象缓存 为 WordPress
再提速!
3、 WordPress
缓存插件的选择
我选择了臭名昭著的 w3totalcache
。此插件的配置很麻烦,不是最有效的。我选择它的原因和它的名字一样,它集成了所有的功能。强烈建议百度在安装该插件之前了解如何卸载该插件。此外,在晚上无人时配置它。还有时间来解决这个问题。
4、 加速原理
1.使用 APC
缓存 PHP
文件可以大大提高网站的响应速度,尤其是在后台,响应速度几乎为秒。安装 APC
后,打开/etc
/php
.d
/APC
扩展=APC
。因此//介绍 APC
模块 APC
。Stat
=off
//关闭文件检查。默认值为 onapc
.shm
u
; Size
=128M//内存大小。通常,128M 是 WordPress
的合适尺寸。APC
。TTL
=7200//缓存时间 apc
.user
TTL
=7200//用户缓存时间
这里,我们将重点讨论参数 APC
。Stat
=0ff。这一行关闭文件更改检查。如果没有,PHP
将检查文件是否每次都更改以降低运行速度。关闭后速度会提高,但如果更改 PHP
文件,则不会生效(HTML
和 JS
文件不受影响)。因此,如果对 PHP
进行更改,则需要将此项设置为 on
。
APC
有一个管理工具页面。您可以从官网下载一个名为 apc
.php
的文件,并将其放在服务器上以查看 apc
的运行状态。
2.使用 memcached
缓存静态页面
存储在内存中比从硬盘读取快得多。用户的访问权限越大,速度的提高就越明显。在 VPS
中安装 memcached
对象缓存以加快 WordPress
的速度!配置后,w3totlecache
插件中的 Memcache
从灰色变为可选。您可以将 pagecachemethod
、minifycachemethod
、databasecachemethod
和 objectcachemethod
设置为 memcached
。从那时起,大多数请求将数据直接返回内存,服务器硬盘可以集中在 MySQL
上。
Memcached
还有一个特殊的管理页面,可以下载。细节将不再重复。打开 PHP
FPM
配置文件/etc
/PHP
FPM
.d
/www
.conf
。最后几行应如下所示:
; 将 SessionPathToDirectoryOwnedByProcessUser
;php_uuvalue
[session
.save
uuhandler
]=文件//注释掉;php
\uvalue
[session
.save
\upath
]=/var
/lib
/php
/session
//注释掉;最后,这里设置的会话路径是有效的 value
[session
.save
\Handler
]=Memcache
//添加这行 PHP_value
[session
.save
\upath
]=tcp
://127.0.0.1:11211// 添加此行并记下 IP
地址和端口号
3.删除 Google
字体:自动替换 Google
的 URL
–轻松替换前面和背景中的外来字体,显著加快网站速度
4.合理配置 php
fpm
,大大提高 php
的运行速度。
打开/etc
/php
-fpm
.d
/www
.conf
并将用户名和第 39 行和第 41 行的组配置为 nginx
。其中 156 条线路必须关闭:
slowlog
=/var
/log
/php
-fpm
/www
-slow
.log
这是一个错误。如果您记录一个缓慢的日志,PHP
将不可避免地溢出内存,导致所有 PHP
错误。在这一行前面放一个冒号,然后注释掉。
5.MySQL
的合理配置
MySQL
的配置原理比较复杂,但总体思路是减少硬盘读取,合理利用内存缓存。打开另一篇文章,讨论第三篇。
MySQL
优化首先可以提供一个插件来删除 post
的历史版本,这几乎可以将 post
表的容量减少 2/3。那些拥有上万个 post
的站点应该是一个必要的插件:WP
optimize
。这个插件不仅可以删除帖子的版本,还可以优化数据表,这也是非常有用的。
6.Nginx
配置必须扼杀技术。
nginx
作为一个 web
服务器,是网站软件环境的主题。你为什么最后才谈论它?众所周知,我们的主机是一台虚拟机。在 8 核或 16 核机器上,随机分配给您的 CPU
。如果您购买 4 个内核,则只会为您分配 4 个 CPU
。如果此物理机器有 10 个正在使用的工作站,则实际 CPU
使用情况未知,但有一条规则保持不变。第一个核心使用最频繁,占用率最高。原因是许多软件默认使用第一个内核。
可爱的 nginx
具有 CPU
进程分配功能。默认情况下,您可以反向分配,让 nginx
使用其他内核,以避免与主机的其他用户发生冲突。
具体操作如下:
执行 cat
/proc
/cpuinfo
命令将生成一个大的结果列表。我们只需要查看物理 ID
,它是 CPU
的物理 ID
。如果您购买 2 核 CPU
,则将有 2 个物理 ID
。请仔细查一下。Cpucores
:16 表示这是一个 16 核服务器。Physicalid
:0 表示第一个核心已分配给您。Physicalid
:3 表示第五个核心分配给您的服务提供商。CPU
分配是随机的,重启后可能会改变。因此,您应该在每次服务器重新启动时重新检查 CPU
核心号并重新绑定 nginx
。打开/etc
/nginx
/conf
.d
/plus086
.conf
//将文件名更改为您自己的配置文件名,并添加以下两行:Worker
\uprocesses2
;工人与 cpu
的亲缘关系 0000000100000011;worker_uuProcess2
已被很好地理解,这表明有两个核心任务。worker_uCPU_uuaffinity
表示 cpu
核心的序列号,它由 8 位二进制表示。
CPU
核心编号:
8 位二进制表示
0:00000001
1:00000010
2:00000011
3:00000100
4:00000101
5:00000110
6:00000111
7:00001000
如果分配了核 0 和核 6,则应按如下方式填写:worker_uCPU_uuAffinity0000011100000001
;
将芯 6 放在前面,避免芯 1 的负载,直接使用相对空闲的芯 6。如果您的机器有 8 个以上的芯,则最多可以绑定 8 个芯。Nginx
官员不建议分配超过 8 个内核的进程。
转载请注明:汇站网 » WordPress
最终加速原理