文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何快速解决ThinkPHP5.1出现MISS缓存未命中问题

2023-07-05 03:00

关注

这篇文章主要介绍了如何快速解决ThinkPHP5.1出现MISS缓存未命中问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何快速解决ThinkPHP5.1出现MISS缓存未命中问题文章都会有所收获,下面我们一起来看看吧。

ThinkPHP5.1使用CDN加速-MISS缓存未命中解决

在单独给首页配置CDN加速后,出现了X-Cache: MISS TCP_MISS dirn:-2:-2,MISS也就是缓存没有被命中。这个问题不是配置错了,而框架问题。

什么要使用CDN?

“cdn简介 CDN的全称是Content Delivery Network,即内容分发网络。

为什么使用CDN?

CDN就近节点访问,提高了网站加载速度,降低延时;能起到分流作用,减轻服务器负载,

使用动静分离提高网站访问速度。

配置实现

这个呢,我是部署在了生产环境,实际测试大并发高流量处理,当然了,也有很多的不足。

环境

服务器:腾讯云

系统:CentOS7

框架:ThinkPHP5.1

使用阿里云OSS+CDN并配置缓存

当然还要有经过备案的域名。

关于怎么使用阿里云OSS对象存储系统,Laravel6.x上传视频到阿里云Oss对象存储 这篇文章记录过。

bucket创建完成后,可以在列表中看到 '阿里云 CDN 加速',点击这个进行相关的CDN操作,配置完后需要在域名中进行解析。

问题

在单独给首页配置CDN加速后,出现了X-Cache: MISS TCP_MISS dirn:-2:-2,MISS也就是缓存没有被命中。这个问题不是配置错了,而框架问题。

解决方法如下:

第一步:public/index.php读取/设置缓存限制器

<?phpnamespace think;// 设置缓存限制session_cache_limiter('public');require __DIR__ . '/../thinkphp/base.php';Container::get('app')->run()->send();

第二步:开启请求缓存

// 文件位置: config/app.php'request_cache'          => true,

ab压测

如下压测是经过了CDN+OSS之后的结果,可以看到qps可以达到573

$ ab -c100 -n1000 你的页面URLThis 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 miaosha.nikexu.com (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requests Server Software:        TengineServer Hostname:        miaosha.nikexu.comServer Port:            80Document Path:          /Document Length:        774 bytesConcurrency Level:      100Time taken for tests:   1.745 secondsComplete requests:      1000Failed requests:        0Write errors:           0Total transferred:      1403829 bytesHTML transferred:       774000 bytesRequests per second:    573.16 [#/sec] (mean)Time per request:       174.472 [ms] (mean)Time per request:       1.745 [ms] (mean, across all concurrent requests)Transfer rate:          785.76 [Kbytes/sec] receivedConnection Times (ms)             min  mean[+/-sd] median   maxConnect:       15   17   1.5     16      25Processing:    18   91 113.4     71    1195Waiting:       18   90 113.4     71    1195Total:         36  107 113.4     87    1212Percentage of the requests served within a certain time (ms) 50%     87 66%     99 75%    103 80%    105 90%    120 95%    195 98%    437 99%    834100%   1212 (longest request)

在来看看500个并发的压测。

ab -c500 -n10000 你的页面URLRequests per second:    965.61 [#/sec] (mean)Time per request:       517.806 [ms] (mean)Time per request:       1.036 [ms] (mean, across all concurrent requests)Percentage of the requests served within a certain time (ms) 50%    257 66%    319 75%    541 80%   1043 90%   1102 95%   1281 98%   1560 99%   1821100%   3771 (longest request)

通过这个两个手段,已经可以看到还并发量提供,500的并发量,80%的用户可以在1s左右打开。在没有使用CDN+OSS前,我压测的结果是 150的并发,CPU就冲到了90%。使用OSS+CDN的优势就不言而喻了。

关于“如何快速解决ThinkPHP5.1出现MISS缓存未命中问题”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何快速解决ThinkPHP5.1出现MISS缓存未命中问题”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯