最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CDN如何通過減少延遲來提高性能

2023-07-02 08:09 作者:曉楓Motivation  | 我要投稿

對(duì)象存儲(chǔ)解決方案概述

假設(shè)我們有一個(gè)應(yīng)用程序?qū)⑸蟼鞯奈募鎯?chǔ)在世界某個(gè)地方。對(duì)于本示例,它是來自 Akamai 云計(jì)算服務(wù)的對(duì)象存儲(chǔ)存儲(chǔ)桶,我已將其部署到該us-southeast-1區(qū)域。

您可能使用不同的提供商和不同的區(qū)域,但以下幾點(diǎn)仍然適用。

因此,當(dāng)我上傳 Nugget 打哈欠的可愛照片時(shí),我可以通過某個(gè) URL(如 austins-bucket.us-southeast-1.linodeobjects點(diǎn)com/files/nugget點(diǎn)jpg)訪問它


Nugget 是一只超級(jí)可愛的狗。自然,很多人都想看到這一點(diǎn)。不幸的是,由于這張照片是在該us-southeast-1地區(qū)托管的,因此居住在遠(yuǎn)離該地區(qū)的任何人都必須等待更長(zhǎng)的時(shí)間才能親眼目睹這只野獸。

延遲很糟糕。

這就是 CDN 存在的原因。

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


什么是CDN?

CDN 代表“內(nèi)容分發(fā)網(wǎng)絡(luò)”。它是一個(gè)由分布在全球的計(jì)算機(jī)組成的連接網(wǎng)絡(luò),可以存儲(chǔ)相同文件的副本,以便當(dāng)用戶請(qǐng)求特定文件時(shí),可以從最近的計(jì)算機(jī)向用戶提供該文件。

通過使用 CDN,可以縮短請(qǐng)求必須傳輸?shù)木嚯x。這有助于更快地解決請(qǐng)求,無論用戶位于何處。

這是針對(duì)那張 Nugget 照片的webpagetest點(diǎn)org 測(cè)試結(jié)果。該請(qǐng)求是從他們位于日本的服務(wù)器發(fā)出的,請(qǐng)求完成需要 1.1 秒。


我可以在應(yīng)用程序前面設(shè)置一個(gè) CDN 以在世界各地緩存照片,而不是直接從對(duì)象存儲(chǔ)桶提供文件。

因此,東京的用戶將獲得相同的照片,但從最近的 CDN 位置(可能在東京)提供服務(wù),多倫多的用戶將獲得相同的文件,但從最近的 CDN 位置(可能在多倫多)提供服務(wù)。

這可能會(huì)對(duì)性能產(chǎn)生重大影響。

讓我們看一下相同的請(qǐng)求,但在 CDN 后面提供服務(wù)。pagetest點(diǎn)org結(jié)果仍然顯示了同一張 Nugget 的照片,請(qǐng)求仍然來自東京,但這次只花了 0.2 秒——時(shí)間的一小部分!


當(dāng)對(duì)該圖像發(fā)出請(qǐng)求時(shí),CDN 可以檢查它是否已有緩存版本。如果有,它可以立即做出響應(yīng)。如果沒有,它可以從對(duì)象存儲(chǔ)中獲取原始文件,然后保存緩存版本以供將來的請(qǐng)求使用。

注意:上面報(bào)告的數(shù)字來自單次測(cè)試。它們可能會(huì)根據(jù)網(wǎng)絡(luò)條件而有所不同。

CDN 的復(fù)合回報(bào)

上面的示例側(cè)重于提高上傳文件的傳輸速度。在這種情況下,我只處理上傳到對(duì)象存儲(chǔ)桶的單個(gè)圖像。它顯示了響應(yīng)時(shí)間幾乎整整一秒的改進(jìn),這很棒,但當(dāng)您考慮其他類型的資產(chǎn)時(shí),情況會(huì)變得更好。

CDN 非常適合任何靜態(tài)資產(chǎn)(CSS、JavaScript、字體、圖像、圖標(biāo)等)。通過將其放在我的應(yīng)用程序前面,所有其他靜態(tài)文件也可以自動(dòng)緩存。這包括 Nuxt.js 在構(gòu)建過程中生成的文件,以及托管在應(yīng)用程序服務(wù)器上的文件。

當(dāng)您考慮“關(guān)鍵渲染路徑”和渲染阻塞資源(例如 CSS、JavaScript 或字體)時(shí),這一點(diǎn)尤其重要。

當(dāng)網(wǎng)頁加載時(shí),當(dāng)瀏覽器遇到渲染阻塞資源時(shí),它將暫停解析并在繼續(xù)之前下載資源(因此稱為“渲染阻塞”)。因此,影響單個(gè)資產(chǎn)的任何延遲也可能影響網(wǎng)絡(luò)級(jí)聯(lián)中其他資產(chǎn)的性能。

這意味著 CDN 的性能改進(jìn)正在復(fù)合化。好的!

那么,這是為了更快地向更多人展示我的狗的可愛照片,還是為了幫助您使應(yīng)用程序運(yùn)行得更快?是的!

無論出于何種動(dòng)機(jī)構(gòu)建更快的網(wǎng)站,如果您計(jì)劃為多個(gè)地區(qū)的客戶提供服務(wù),將 CDN 作為應(yīng)用程序基礎(chǔ)架構(gòu)的一部分都是至關(guān)重要的一步。

如何將 Akamai CDN 連接到對(duì)象存儲(chǔ)

現(xiàn)在我想進(jìn)行一些附帶任務(wù)并分享我如何使用對(duì)象存儲(chǔ)設(shè)置 Akamai。我沒有找到有關(guān)該主題的太多信息,我想幫助處于這種特定情況的任何人。如果它不適用于您的用例,請(qǐng)隨意跳過本節(jié)。

Akamai 是全球最大的 CDN 提供商,在 4,000 個(gè)地點(diǎn)擁有約 300,000 臺(tái)服務(wù)器。它被世界上一些最大的公司使用,但很難找到與 Akamai 相關(guān)的內(nèi)容,因?yàn)榇蠖鄶?shù)大公司不喜歡共享有關(guān)其基礎(chǔ)設(shè)施的不必要的信息。

但我不是大多數(shù)公司:)

(注意:您需要一個(gè) Akamai 帳戶并有權(quán)訪問您的 DNS 編輯器)

在Akamai Control Center中,我使用Ion Standard 產(chǎn)品創(chuàng)建了一個(gè)新屬性,該產(chǎn)品非常適合通用 CDN 交付。


單擊“創(chuàng)建屬性”后,系統(tǒng)將提示您選擇是否使用設(shè)置向?qū)碇笇?dǎo)您創(chuàng)建屬性,或者您可以直接進(jìn)入新屬性的屬性管理器設(shè)置。我選擇了后者。

在“屬性管理器”中,我必須在“屬性主機(jī)名”部分中添加新的主機(jī)名。我為我的應(yīng)用程序添加了主機(jī)名。這是用戶可以找到您的應(yīng)用程序的 URL。就我而言,它是 uploader.austinil點(diǎn)com。


此過程的一部分還需要為主機(jī)名設(shè)置 SSL 證書。我保留了增強(qiáng) TLS 的默認(rèn)值。


完成所有設(shè)置后,Akamai 將向我顯示以下屬性主機(jī)名和 Edge 主機(jī)名。稍后當(dāng)需要進(jìn)行 DNS 更改時(shí),我們會(huì)再次討論這些內(nèi)容。

  • 屬性主機(jī)名: uploader.austinil點(diǎn)com

  • Edge 主機(jī)名: uploader.austingil.com-v2.edgekey點(diǎn)net


接下來,我必須設(shè)置實(shí)際屬性的行為,這意味著編輯屬性配置設(shè)置下的默認(rèn)規(guī)則。具體來說,我必須將源服務(wù)器主機(jī)名指向源服務(wù)器所在的域。


在我的 DNS 中,我創(chuàng)建了一條新的 A 記錄,將 origin-uploader.austingil點(diǎn)com 指向我的源服務(wù)器的 IP 地址,然后添加了一條 CNAME 記錄,將 uploader.austingil點(diǎn)com 指向 Akamai 提供的邊緣主機(jī)名。

  • A: origin-uploader.austinil點(diǎn)com -> 源站IP

  • CNAME: uploader.austingil點(diǎn)com -> uploader.austingil.com-v2.edgekey點(diǎn)net

這讓我可以構(gòu)建 CDN 配置并根據(jù)需要進(jìn)行測(cè)試,僅在準(zhǔn)備好時(shí)才通過 CDN 發(fā)送流量。

最后,為了通過 Akamai 提供對(duì)象存儲(chǔ)實(shí)例中的文件,我基于空白規(guī)則模板創(chuàng)建了一條新規(guī)則。我設(shè)置了適用于所有前往/files/*子路由的請(qǐng)求的規(guī)則標(biāo)準(zhǔn)。


規(guī)則行為設(shè)置為重寫請(qǐng)求的源服務(wù)器主機(jī)名并將其更改為我的對(duì)象存儲(chǔ)位置:npm.us-southeast-1.linodeobjects點(diǎn)com。


這樣,任何發(fā)送到uploader.austingil點(diǎn)com/files/nugget點(diǎn)jpeg的請(qǐng)求都將通過CDN 提供服務(wù),但文件源自對(duì)象存儲(chǔ)位置。當(dāng)您加載應(yīng)用程序時(shí),Nuxt 生成的所有靜態(tài)資源也由 CDN 提供。所有其他請(qǐng)求都通過 Akamai 傳遞并轉(zhuǎn)發(fā)到指向原始服務(wù)器的 origin-uploader.austingil點(diǎn)com。

這就是我將 Akamai CDN 配置為位于我的應(yīng)用程序前面的方式。希望這一切都有道理,但如果您有疑問,請(qǐng)隨時(shí)問我。

總結(jié)

今天,我們了解了 CDN 是什么、它在減少網(wǎng)絡(luò)延遲方面發(fā)揮的作用,以及如何使用對(duì)象存儲(chǔ)設(shè)置 Akamai CDN。

但這只是冰山一角。為了獲得更高的性能,需要對(duì) CDN 配置進(jìn)行大量調(diào)整。

除了靜態(tài)文件緩存之外,CDN 還可以提供許多其他性能和安全功能:Web 應(yīng)用程序防火墻、更快的網(wǎng)絡(luò)路徑解析、DDoS 保護(hù)、機(jī)器人緩解、邊緣計(jì)算、自動(dòng)圖像和視頻優(yōu)化、惡意軟件掃描、請(qǐng)求安全標(biāo)題等等。

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


CDN如何通過減少延遲來提高性能的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
开平市| 革吉县| 神池县| 都江堰市| 兴城市| 信宜市| 崇州市| 桃园县| 西城区| 精河县| 措勤县| 桓台县| 右玉县| 天祝| 民勤县| 攀枝花市| 苏尼特右旗| 东港市| 乌拉特后旗| 云南省| 卢氏县| 大丰市| 胶南市| 罗山县| 西丰县| 布拖县| 松江区| 资源县| 长宁区| 阿鲁科尔沁旗| 哈尔滨市| 仁化县| 宁武县| 册亨县| 邢台县| 剑阁县| 江安县| 清河县| 镇安县| 高青县| 茂名市|