本篇文章為大家?guī)砹岁P(guān)於ThinkPHP5.1的相關(guān)知識(shí),其中主要介紹了CDN是什麼?為什麼要使用它?怎麼解決ThinkPHP5.1 MISS快取未命中問題?有興趣的朋友下面一起來看看吧,希望對(duì)大家有幫助。
ThinkPHP5.1使用CDN加速-MISS快取未命中解決
在單獨(dú)給首頁(yè)配置CDN加速後,出現(xiàn)了X-Cache: MISS TCP_MISS dirn:-2:-2,MISS也就是快取沒有被命中。這個(gè)問題不是配置錯(cuò)了,而框架問題。
什麼要使用CDN?
「cdn簡(jiǎn)介CDN的全名是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)路。
為什麼要使用CDN?
##CDN就近節(jié)點(diǎn)訪問,提高了網(wǎng)站加載速度,降低延時(shí);能起到分流作用,減輕伺服器負(fù)載,使用動(dòng)靜分離提高網(wǎng)站訪問速度。配置實(shí)現(xiàn)
這個(gè)呢,我是部署在了生產(chǎn)環(huán)境,實(shí)際測(cè)試大並發(fā)高流量處理,當(dāng)然了,也有很多的不足。環(huán)境
#伺服器:騰訊雲(yún)端系統(tǒng):CentOS7框架:ThinkPHP5.1使用阿里雲(yún)OSS CDN並且設(shè)定快取##當(dāng)然還要有經(jīng)過備案的網(wǎng)域名稱。
關(guān)於怎麼使用阿里雲(yún)OSS物件儲(chǔ)存系統(tǒng),Laravel6.x上傳影片到阿里雲(yún)Oss物件儲(chǔ)存這篇文章記錄過。
bucket建立完成後,可以在列表中看到'阿里雲(yún)CDN 加速',點(diǎn)擊這個(gè)進(jìn)行相關(guān)的CDN操作,配置完後需要在域名中進(jìn)行解析。
問題在單獨(dú)給首頁(yè)配置CDN加速後,出現(xiàn)了X-Cache: MISS TCP_MISS dirn:-2:-2,MISS也就是快取沒有被命中。這個(gè)問題不是配置錯(cuò)了,而框架問題。
#解決方法如下:第一步:public/index.php讀取/設(shè)定快取限制器
<?php
namespace think;
// 設(shè)置緩存限制
session_cache_limiter('public');
require __DIR__ . '/../thinkphp/base.php';
Container::get('app')->run()->send();
// 文件位置: config/app.php
'request_cache' => true,
#如下壓測(cè)是經(jīng)過了CDN OSS之後的結(jié)果,可以看到qps可以達(dá)到573
$ ab -c100 -n1000 你的頁(yè)面URL 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 miaosha.nikexu.com (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Tengine Server Hostname: miaosha.nikexu.com Server Port: 80 Document Path: / Document Length: 774 bytes Concurrency Level: 100 Time taken for tests: 1.745 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 1403829 bytes HTML transferred: 774000 bytes Requests 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] received Connection Times (ms) min mean[+/-sd] median max Connect: 15 17 1.5 16 25 Processing: 18 91 113.4 71 1195 Waiting: 18 90 113.4 71 1195 Total: 36 107 113.4 87 1212 Percentage of the requests served within a certain time (ms) 50% 87 66% 99 75% 103 80% 105 90% 120 95% 195 98% 437 99% 834 100% 1212 (longest request)
在來看看500個(gè)並發(fā)的壓測(cè)。
ab -c500 -n10000 你的頁(yè)面URL Requests 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% 1821 100% 3771 (longest request)
透過這個(gè)兩個(gè)手段,已經(jīng)可以看到還並發(fā)量提供,500的並發(fā)量,80%的用戶可以在1s左右打開。在沒有使用CDN OSS前,我壓測(cè)的結(jié)果是150的並發(fā),CPU就衝到了90%。使用OSS CDN的優(yōu)勢(shì)就不言而喻了。
推薦學(xué)習(xí):《
thinkPHP影片教學(xué)以上是快速解決ThinkPHP5.1出現(xiàn)MISS快取未命中問題的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

執(zhí)行 ThinkPHP 專案需要:安裝 Composer;使用 Composer 建立專案;進(jìn)入專案目錄,執(zhí)行 php bin/console serve;造訪 http://localhost:8000 查看歡迎頁(yè)面。

ThinkPHP 擁有多個(gè)版本,針對(duì)不同 PHP 版本而設(shè)計(jì)。主要版本包括 3.2、5.0、5.1 和 6.0,而次要版本用於修復(fù) bug 和提供新功能。目前最新穩(wěn)定版本為 ThinkPHP 6.0.16。在選擇版本時(shí),需考慮 PHP 版本、功能需求和社群支援。建議使用最新穩(wěn)定版本以獲得最佳性能和支援。

ThinkPHP Framework 的本機(jī)運(yùn)作步驟:下載並解壓縮 ThinkPHP Framework 到本機(jī)目錄。建立虛擬主機(jī)(可選),指向 ThinkPHP 根目錄。配置資料庫(kù)連線參數(shù)。啟動(dòng) Web 伺服器。初始化 ThinkPHP 應(yīng)用程式。存取 ThinkPHP 應(yīng)用程式 URL 運(yùn)行。

Laravel 和 ThinkPHP 框架的效能比較:ThinkPHP 效能通常優(yōu)於 Laravel,專注於最佳化和快取。 Laravel 性能良好,但對(duì)於複雜應(yīng)用程序,ThinkPHP 可能更適合。

ThinkPHP 安裝步驟:準(zhǔn)備 PHP、Composer、MySQL 環(huán)境。使用 Composer 建立專案。安裝 ThinkPHP 框架及相依性。配置資料庫(kù)連線。產(chǎn)生應(yīng)用程式碼。啟動(dòng)應(yīng)用程式並造訪 http://localhost:8000。

ThinkPHP 是一款高效能的 PHP 框架,具備快取機(jī)制、程式碼最佳化、平行處理和資料庫(kù)最佳化等優(yōu)勢(shì)。官方性能測(cè)試顯示,它每秒可處理超過 10,000 個(gè)請(qǐng)求,實(shí)際應(yīng)用中被廣泛用於京東商城、攜程網(wǎng)等大型網(wǎng)站和企業(yè)系統(tǒng)。

開發(fā)建議:如何利用ThinkPHP框架進(jìn)行API開發(fā)隨著網(wǎng)際網(wǎng)路的不斷發(fā)展,API(ApplicationProgrammingInterface)的重要性也日益凸顯。 API是不同應(yīng)用程式之間進(jìn)行通訊的橋樑,它可以實(shí)現(xiàn)資料共享、功能呼叫等操作,為開發(fā)者提供了相對(duì)簡(jiǎn)單且快速的開發(fā)方式。而ThinkPHP框架作為一款優(yōu)秀的PHP開發(fā)框架,具有高效能、可擴(kuò)展且易用

《開發(fā)建議:如何利用ThinkPHP框架實(shí)現(xiàn)非同步任務(wù)》隨著網(wǎng)路技術(shù)的快速發(fā)展,Web應(yīng)用程式對(duì)於處理大量並發(fā)請(qǐng)求和複雜業(yè)務(wù)邏輯的需求也越來越高。為了提高系統(tǒng)的效能和使用者體驗(yàn),開發(fā)人員常常會(huì)考慮利用非同步任務(wù)來執(zhí)行一些耗時(shí)操作,例如發(fā)送郵件、處理文件上傳、產(chǎn)生報(bào)表等。在PHP領(lǐng)域,ThinkPHP框架作為一個(gè)流行的開發(fā)框架,提供了一些便捷的方式來實(shí)現(xiàn)非同步任務(wù)。
