安装imwpcache缓存插件之后网站能提速多少?最详细的评测来了!

更新于 2022年7月3日 精品教程

很多同学对安装了缓存插件对网站速度能提升多少没什么概念,今天就来给大家评测一下。

用树莓派当服务器测试

先看看硬件情况,主要看cpu信息,如下:

root@raspberrypi:~$ cat /proc/cpuinfo
processor	: 0
model name	: ARMv7 Processor rev 4 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 1
model name	: ARMv7 Processor rev 4 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 2
model name	: ARMv7 Processor rev 4 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 3
model name	: ARMv7 Processor rev 4 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

Hardware	: BCM2709
Revision	: a02082
Serial		: 000000002ba83af3

很多年前的树莓派了,ARMv7 4核心,900MHZ主频。跑wordpress可以说比较吃力,但打开还是没问题的。

​PHP信息

如下,已经安装了opcache。

root@raspberrypi:~$ php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 14:03:18) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies

未安装缓存时表现

没有使用缓存的情况下,首页打开速度是800ms​左右,如下图:

现在我们用ab工具看看这个​环境能抗多少并发。

测试一、并发数2总共10个请求,测试结果如下:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    4   3.0      3      11
Processing:   878  899  16.0    901     935
Waiting:      260  264   3.4    264     271
Total:        881  903  15.6    905     938

Percentage of the requests served within a certain time (ms)
  50%    905
  66%    905
  75%    908
  80%    910
  90%    938
  95%    938
  98%    938
  99%    938
 100%    938 (longest request)

和单次请求基本一样,接下来加大并发数。

测试二、并发5个请求,总共50个请求,测试结果如下:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    5   3.9      3      27
Processing:   906 1166 219.1   1122    2101
Waiting:      268  419 163.0    359    1029
Total:        909 1171 219.5   1127    2104

Percentage of the requests served within a certain time (ms)
  50%   1127
  66%   1182
  75%   1226
  80%   1264
  90%   1438
  95%   1677
  98%   2104
  99%   2104
 100%   2104 (longest request)

访问时间基本超过1s,5个并发的时候99分位耗时是2s。

测试三、并发数10总共200个请求,测试结果如下:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    4   4.2      3      32
Processing:   881 2301 286.5   2308    3117
Waiting:      307 1511 232.5   1502    2233
Total:        884 2306 286.5   2311    3120

Percentage of the requests served within a certain time (ms)
  50%   2311
  66%   2410
  75%   2462
  80%   2499
  90%   2616
  95%   2737
  98%   2900
  99%   2955
 100%   3120 (longest request)

10个并发的时候99分位的请求耗时接近3s,这个速度基本不能接受了。

10个并发是什么概念呢?如果全天都是均匀的10个并发,那网站每天的流量就是864000,也就是84w。考虑到夜间没什么流量,打个折基本是40w。大部分网站都达不到这个访问量。

安装缓存后表现

先用chrome打开看看,直接到56ms。

当前页面是命中缓存的状态。好家伙,打开速度从877ms下降到56ms,速度提升1400%。

再用ab测试一下看看。

这次并发数就不逐渐往上提了,我们直接上5个并发,100个请求试试。

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2   13   8.3     11      53
Processing:    58  115  37.2    109     253
Waiting:       16   32  10.9     30      93
Total:         73  128  39.0    119     265

Percentage of the requests served within a certain time (ms)
  50%    119
  66%    135
  75%    144
  80%    147
  90%    170
  95%    226
  98%    261
  99%    265
 100%    265 (longest request)

99分位耗时是265ms。相比原先的2104ms速度也提升了690%。

加大到10个并发试试。

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2   17  12.3     14      75
Processing:    68  161  34.1    162     255
Waiting:       19   45  16.9     42     116
Total:         82  179  33.9    181     274

Percentage of the requests served within a certain time (ms)
  50%    181
  66%    195
  75%    201
  80%    206
  90%    220
  95%    231
  98%    260
  99%    262
 100%    274 (longest request)

看起来和5个并发差不多,速度并没有下降多少。

20个并发结果,99分位耗时605ms。

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3   30  17.9     27     107
Processing:    67  395  89.7    390     578
Waiting:       14   68  27.3     62     176
Total:         73  425  95.4    421     623

Percentage of the requests served within a certain time (ms)
  50%    421
  66%    457
  75%    491
  80%    517
  90%    561
  95%    584
  98%    601
  99%    605
 100%    623 (longest request)

继续加大到50并发

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        5   61  50.8     57     437
Processing:    95  821 213.7    776    1813
Waiting:       22  117  62.1     99     482
Total:        103  881 221.8    842    1889

Percentage of the requests served within a certain time (ms)
  50%    842
  66%    928
  75%    984
  80%   1042
  90%   1159
  95%   1310
  98%   1447
  99%   1548
 100%   1889 (longest request)

99分位耗时在1548ms,再往上提并发已经意义不大了。

安装了缓存的树莓派基本可以作为一个小型服务器对外提供服务了,每天10w pv基本无压力。

普通VPS测试

接下来我们测试一下一个普通的vps安装缓存之后能抗多少流量。直接拿我的一个测站来压一下,我们直接在服务器测试,这样可以忽略网络带来的延迟。

下面是我的一个服务器信息:

[root@VM-0-13-centos ~]# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-26xx v4
stepping	: 1
microcode	: 0x1
cpu MHz		: 2394.446
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt
bogomips	: 4788.89
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

是个单核服务器,主频为2394MHZ,一个非常小型的vps。

测试一、1个并发,总共10个请求

[root@VM-0-13-centos ~]# ab -c1 -n10 https://www.xuexiezuowen.com/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.xuexiezuowen.com (be patient).....done


Server Software:        nginx
Server Hostname:        www.xuexiezuowen.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128

Document Path:          /
Document Length:        33348 bytes

Concurrency Level:      1
Time taken for tests:   0.069 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      335460 bytes
HTML transferred:       333480 bytes
Requests per second:    145.16 [#/sec] (mean)
Time per request:       6.889 [ms] (mean)
Time per request:       6.889 [ms] (mean, across all concurrent requests)
Transfer rate:          4755.37 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3    3   0.3      3       4
Processing:     4    4   0.4      4       5
Waiting:        3    4   0.4      4       4
Total:          6    7   0.5      7       8

Percentage of the requests served within a certain time (ms)
  50%      7
  66%      7
  75%      7
  80%      7
  90%      8
  95%      8
  98%      8
  99%      8
 100%      8 (longest request)

测试二、10个并发,100请求

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4   23   4.9     22      46
Processing:     6   28   4.8     29      44
Waiting:        4   27   4.5     28      38
Total:         10   51   5.8     52      74

Percentage of the requests served within a certain time (ms)
  50%     52
  66%     52
  75%     53
  80%     53
  90%     54
  95%     55
  98%     70
  99%     74
 100%     74 (longest request)

99分位耗时74ms,均值时51ms,相当给力。

测试三、20个并发,200个请求

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3   45  22.2     44     218
Processing:     4   88 112.4     60     660
Waiting:        4   62  73.2     49     660
Total:          8  133 115.2    110     702

Percentage of the requests served within a certain time (ms)
  50%    110
  66%    113
  75%    114
  80%    118
  90%    234
  95%    435
  98%    686
  99%    693
 100%    702 (longest request)

99分位耗时为693ms,均值时133ms,速度能接受。

测试四、50个并发、500个请求

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3   89 100.6     84     810
Processing:     4  369 328.7    232    2270
Waiting:        4  221 240.5    206    2037
Total:          9  458 347.6    334    2504

Percentage of the requests served within a certain time (ms)
  50%    334
  66%    437
  75%    499
  80%    640
  90%    871
  95%   1218
  98%   1707
  99%   1848
 100%   2504 (longest request)

99分位耗时1.8s,均值是458ms,再往上加并发就没什么意义了。

测试时cpu基本被打满了,如下:

总结

根据树莓派的测试结果来看,安装缓存最高速度大约能提升14倍。随着流量的增加,缓存带来的收益会越来越明显。流量越高,提升越明显。

一个单核vps的wordpress安装imwpcache缓存插件,并发不超过10的时候,页面打开速度在50-100ms左右。也就是说一个普通vps每天能抗的流量大概在40w左右。考虑到一个页面打开时可能还会访问其他的静态资源,ajax加载的一些东西,保守估计一天20w pv应该非常轻松。

你可能还喜欢下面这些文章

大客户版授权码功能上线大客户版授权码功能上线

用户使用起来也不太方便。 现在大客户版授权码上线啦,5个以上的授权就可以使用。 一个授权码搞定多个网站的授权。

wordpress多本小说主题 imwpnovelswordpress多本小说主题 imwpnovels

功能更强的wordpress小说主题imwpnovels,让创建小说站点更简单! 小说阅读页面支持无限制的字体缩放,支持护眼模式,页面模式,在使用静态缓存下刷新无闪烁的特性,用户体验极佳。

如何禁用wordpress自带的sitemap如何禁用wordpress自带的sitemap

有一天我看主机的CPU竟然一直是100%,十分奇怪。 但sitemap是实时生成的,对于文章数量多的站点,访问sitemap对网站消耗是巨大的。 站长工具箱现在可以直接禁用自带的网站地图,对于文章数量多的站点,建议禁用这个功能。

PHP Warning: POST Content-Length of 8978294 bytes exceeds the limit of 8388608 bytes in Unknown on line 0PHP Warning: POST Content-Length of 8978294 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

将 php.ini 中的post_max_size更新为更大的值。 因此,您可以将upload_max_filesize设置为1 兆,这意味着用户可以上传的最大单个文件为1 兆字节,但如果post_max_size设置为5,则他们可以一次上传5 个。 2.现在打开 php.ini 文件并更改以下内容: 重新启动您的服务器将有助于它开始工作。

wordpress开启多站点方法wordpress开启多站点方法

本文介绍一下wordpress开启多站点以及开启多站点之后nginx的配置。 rewrite (.*) $1/index.php; rewrite (.*) /index.php;

wprec推荐插件模板变量文档以及样式推荐wprec推荐插件模板变量文档以及样式推荐

wpac是一款wordpress自动配图插件,可以丰富文章内容,对提升排名有很大帮助。 p style=”font-size:18px; “>你可能还喜欢下面这些文章< p>{excerpt}<

wordpress智能自动摘要插件:wpaewordpress智能自动摘要插件:wpae

目前wordpress的摘要大多数由主题提供。 一直以来没有一款插件可以智能提取正文的关键内容作为摘要,于是自己动手做了一个,命名为wpae(wordpress auto excerpt)。

自动图片插件入门教程自动图片插件入门教程

欢迎使用WordPress自动图片插件。 进入正文图选项,开启文章配图,如下: 这个设置稍微麻烦一点,如果您是WordPress资深用户且不希望配图消耗磁盘空间,建议尝试使用该高级特性。

好看 (0) 很好看 (0) 非常好看 (0)
赞赏

微信赞赏支付宝赞赏