自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

什么是 CDN 緩存命中率以及如何計(jì)算和優(yōu)化它?

存儲(chǔ) 數(shù)據(jù)管理
一般來(lái)說(shuō),對(duì)于大多數(shù)網(wǎng)站來(lái)說(shuō),95-99% 的命中率和 1-5%的未命中率是最理想的。您應(yīng)該記住,這些數(shù)字是特定于用例的,對(duì)于動(dòng)態(tài)內(nèi)容或可能經(jīng)常更改的特定文件,可能會(huì)有很大不同。您應(yīng)該了解 CDN 使用后的不同的優(yōu)點(diǎn),例如安全性和成本優(yōu)化。

?本文主要關(guān)注 Amazon CloudFront CDN 緩存以及如何使用它們來(lái)實(shí)現(xiàn)更好的緩存命中率。

在了解緩存中的命中率和未命中率之前,最好先了解緩存是什么。

什么是緩存?

例如,緩存是一種高速存儲(chǔ)器,可臨時(shí)保存網(wǎng)頁(yè)中的數(shù)據(jù)或內(nèi)容,以便下次訪問(wèn)該頁(yè)面時(shí),該內(nèi)容顯示得更快。它有助于更快地加載網(wǎng)頁(yè)以獲得更好的用戶體驗(yàn)。對(duì)于數(shù)據(jù)庫(kù)和其他存儲(chǔ),也是使用類似的方式。

圖片

在 AWS Cloud 中,緩存分為:

  • 內(nèi)容交付網(wǎng)絡(luò) (CDN) 緩存 - CDN 是幾乎所有 Web 應(yīng)用程序的關(guān)鍵組件。過(guò)去,CDN 僅通過(guò)在全球分布的一組緩存服務(wù)器上復(fù)制常用請(qǐng)求的文件(靜態(tài)內(nèi)容)來(lái)改進(jìn)內(nèi)容的交付。
  • Web 緩存 - Web 緩存是通過(guò)在緩存中保留 HTTP 響應(yīng)和 Web 資源來(lái)執(zhí)行的,以完成來(lái)自緩存而不是來(lái)自原始服務(wù)器的未來(lái)請(qǐng)求。
  • 數(shù)據(jù)庫(kù)緩存 - 內(nèi)存數(shù)據(jù)緩存是提高整體應(yīng)用程序性能和降低數(shù)據(jù)庫(kù)成本的最有效策略之一。緩存可以應(yīng)用于任何類型的數(shù)據(jù)庫(kù),包括關(guān)系數(shù)據(jù)庫(kù),例如 Amazon RDS 或 NoSQL 數(shù)據(jù)庫(kù)。
  • 更多… - AWS緩存解決方案_亞馬遜云緩存服務(wù)-AWS云服務(wù)(https://aws.amazon.com/cn/caching/aws-caching/)

這些緩存通常由以下 AWS 服務(wù)提供:Amazon ElastiCache、Amazon DynamoDB Accelerator (DAX)、Amazon CloudFront CDN 和 AWS Greengrass。

什么是緩存命中率?

緩存命中率是適用于任何緩存的重要指標(biāo),不局限于 CDN。緩存命中率描述了從緩存而不是從原始存儲(chǔ)(源服務(wù)器)成功提供內(nèi)容的情況。

這是 CDN 的一項(xiàng)重要指標(biāo),但不是唯一需要監(jiān)控的指標(biāo);對(duì)于內(nèi)容變化頻繁的動(dòng)態(tài)網(wǎng)站,緩存命中率會(huì)比靜態(tài)網(wǎng)站略低。但是,現(xiàn)代 CDN(例如 Amazon CloudFront)也可以執(zhí)行動(dòng)態(tài)緩存。很多 CDN 服務(wù)提供商應(yīng)在其性能報(bào)告中都會(huì)提供其緩存命中分?jǐn)?shù)。

什么是緩存未命中率?

它通常以百分比表示,例如 5% 的緩存未命中率。高速緩存未命中率通常是指搜索高速緩存時(shí),未找到數(shù)據(jù)。發(fā)生這種情況時(shí),應(yīng)將請(qǐng)求轉(zhuǎn)發(fā)到原始存儲(chǔ)/服務(wù)器,并將內(nèi)容傳輸給用戶,并在可能的情況下寫(xiě)入緩存。

緩存命中和未命中示例

緩存命中示例

用戶打開(kāi)您網(wǎng)站的主頁(yè),例如,圖片的副本(靜態(tài)內(nèi)容)從用戶附近的緩存服務(wù)器加載,因?yàn)橐郧暗挠脩粢呀?jīng)使用過(guò)相同的內(nèi)容。這就是緩存命中率需要時(shí)間積累的原因。開(kāi)始時(shí),緩存命中百分比將為 0%。然后隨著緩存服務(wù)器創(chuàng)建數(shù)據(jù)副本,它會(huì)慢慢開(kāi)始增加。但是對(duì)于很多緩存服務(wù)器,這可能需要一段時(shí)間。

圖片

緩存未命中示例

用戶在電子商務(wù)網(wǎng)站上打開(kāi)產(chǎn)品頁(yè)面,如果產(chǎn)品圖片的副本當(dāng)前不在 CDN 緩存中,則此請(qǐng)求會(huì)導(dǎo)致緩存未命中,并將請(qǐng)求傳遞到原始圖片的源服務(wù)器。CDN 服務(wù)器將在源服務(wù)器響應(yīng)后緩存照片,因此對(duì)它的任何其他額外請(qǐng)求都將導(dǎo)致緩存命中。

圖片

對(duì)于大多數(shù)網(wǎng)站來(lái)說(shuō),好的 CDN 緩存命中率是多少?

一般來(lái)說(shuō),對(duì)于大多數(shù)網(wǎng)站來(lái)說(shuō),95-99% 的命中率和 1-5%的未命中率是最理想的。您應(yīng)該記住,這些數(shù)字是特定于用例的,對(duì)于動(dòng)態(tài)內(nèi)容或可能經(jīng)常更改的特定文件,可能會(huì)有很大不同。您應(yīng)該了解 CDN 使用后的不同的優(yōu)點(diǎn),例如安全性和成本優(yōu)化。

如何計(jì)算緩存命中率

計(jì)算緩存命中率的最佳方法是將緩存命中總數(shù)除以緩存命中總數(shù)和緩存未命中數(shù)之和。

該值通常以請(qǐng)求或命中適用緩存的百分比表示。

緩存命中率公式和示例如下。

圖片

例如,如果您有 43 個(gè)緩存命中(請(qǐng)求)和 11 個(gè)未命中,那么這意味著您將 43(緩存命中總數(shù))除以 54(11 個(gè)緩存未命中和 43 個(gè)緩存命中的總和)。結(jié)果將是 0.796 的緩存命中率。并將其表示為百分比,將最終結(jié)果乘以 100。

這給出了 79.6% 的緩存命中率。

如何衡量 CDN 緩存命中率?

您應(yīng)該能夠在 CDN 的統(tǒng)計(jì)信息中找到緩存命中率。如果您無(wú)法找到準(zhǔn)確的緩存命中率,您可以嘗試使用上一節(jié)中的公式進(jìn)行計(jì)算。

對(duì)于 Amazon CloudFront CDN,您可以通過(guò)兩種可能的方式在 AWS 管理控制臺(tái)中獲取此信息:

  • 通過(guò)在控制臺(tái)中使用Amazon CloudFront 緩存統(tǒng)計(jì)信息(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-statistics.html)
  • Amazon CloudWatch 中的實(shí)時(shí)指標(biāo)

緩存命中和未命中問(wèn)題

緩存適用于各種用例,但在為每個(gè)內(nèi)容使用 CDN 緩存之前,有幾個(gè)可能的問(wèn)題需要回答:

1、數(shù)據(jù)結(jié)構(gòu)是否適合緩存?

簡(jiǎn)單地緩存數(shù)據(jù)庫(kù)記錄通常足以提供顯著的性能優(yōu)勢(shì)。但是,通常時(shí)候,最好以組合多條記錄的格式緩存數(shù)據(jù)。因?yàn)榫彺媸呛?jiǎn)單的鍵值存儲(chǔ),您可能還需要緩存多種不同格式的數(shù)據(jù)記錄,以便您可以通過(guò)記錄中的不同屬性訪問(wèn)它。

2、緩存對(duì)每個(gè)數(shù)據(jù)都有效嗎?

某些應(yīng)用程序會(huì)生成不適合緩存的訪問(wèn)模式——例如,掃描頻繁更改的大型數(shù)據(jù)集。在這種情況下,使緩存保持最新可能會(huì)抵消緩存可能提供的任何優(yōu)勢(shì)。

3、使用緩存的內(nèi)容(值、對(duì)象)總是安全的嗎?

? 同一條數(shù)據(jù)在不同的上下文中可能有不同的一致性要求。例如,在線結(jié)賬時(shí),您需要產(chǎn)品的權(quán)威價(jià)格,因此緩存可能不合適。但是,在產(chǎn)品頁(yè)面上,價(jià)格可能會(huì)過(guò)時(shí)幾分鐘,而不會(huì)對(duì)用戶產(chǎn)生負(fù)面影響。

高緩存命中率是否總是意味著 CDN 有效?

緩存命中率是 CDN 的一個(gè)重要指標(biāo),但其他指標(biāo)對(duì) CDN 的有效性也很重要,例如RTT(往返時(shí)間)或其他因素,例如緩存內(nèi)容的存儲(chǔ)位置。理想情況下,CDN 服務(wù)應(yīng)將內(nèi)容緩存到盡可能靠近最終用戶和盡可能多的用戶的位置。

如何提高 CDN 的緩存命中率

通常,您可以使用以下建議來(lái)提高 CDN 緩存命中率:

圖片

1、優(yōu)化緩存控制頭

Cache-Control 頭域指定了請(qǐng)求和響應(yīng)情況下的緩存機(jī)制的指令。這些標(biāo)頭用于設(shè)置屬性,例如對(duì)象的最長(zhǎng)期限、到期時(shí)間 (TTL) 或?qū)ο笫欠裢耆彺妗8鶕?jù)內(nèi)容更改的頻率,您需要指定此屬性。優(yōu)化這些屬性值可以幫助增加 CDN 上的緩存命中數(shù)。

圖片

示例: 設(shè)置最適合您的內(nèi)容的生存時(shí)間 (TTL)。例如,如果資產(chǎn)大約每?jī)芍芨囊淮?,則 7 天的緩存時(shí)間可能是合適的。但是,如果頻繁訪問(wèn)資產(chǎn),您可能希望使用一天或更短的生命周期。

2、忽略cookies

Cookie 往往是不可緩存的,因此包含它們的文件也是不可緩存的。因此,制定規(guī)則很重要。例如,忽略您希望通過(guò) CDN 交付的資產(chǎn)請(qǐng)求中的所有 cookie 。

3、忽略查詢字符串

查詢字符串有多種用途:它們有助于與 Web 應(yīng)用程序和 API 交互、聚合用戶指標(biāo)并為對(duì)象提供信息。當(dāng)查詢字符串包含在靜態(tài)對(duì)象 URL 中時(shí),就會(huì)出現(xiàn)問(wèn)題。在這種情況下,CDN 會(huì)將它們誤認(rèn)為是唯一對(duì)象,并將請(qǐng)求定向到源服務(wù)器。因此,即使請(qǐng)求的內(nèi)容在 CDN 緩存中可用,每個(gè)請(qǐng)求都將被歸類為緩存未命中。這會(huì)導(dǎo)致緩存命中率不必要地降低。

圖片

其他

如果您使用的是 Amazon CloudFront CDN,您可以遵循這些 AWS 建議 (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html) 以獲得更高的緩存命中率。本文主要介紹了如何設(shè)置和管理對(duì)象緩存以提高性能并滿足您的業(yè)務(wù)需求。?

  • 指定 CloudFront 緩存對(duì)象的時(shí)間
  • 使用 CloudFront Origin Shield
  • 基于查詢字符串參數(shù)的緩存
  • 基于 cookie 值的緩存
  • 基于請(qǐng)求頭的緩存
  • 不需要壓縮時(shí)刪除 Accept-Encoding 標(biāo)頭
  • 使用 HTTP 提供媒體內(nèi)容
責(zé)任編輯:武曉燕 來(lái)源: 新鈦云服
相關(guān)推薦

2024-01-08 09:43:20

2010-01-29 09:41:47

Oracle數(shù)據(jù)庫(kù)

2011-03-11 14:56:33

Oracle數(shù)據(jù)庫(kù)命中率優(yōu)化

2017-12-25 14:13:31

2010-04-09 16:51:24

Oracle數(shù)據(jù)庫(kù)

2018-07-16 14:17:11

2020-10-27 11:20:34

MySQLMySQL鎖數(shù)據(jù)庫(kù)

2021-09-07 09:30:44

緩存指標(biāo)系統(tǒng)

2021-07-15 08:00:47

系統(tǒng)性能調(diào)優(yōu)cpunuma架構(gòu)

2021-01-29 09:24:02

CDN虛擬CDNvCDN

2010-04-09 17:08:17

Oracle數(shù)據(jù)庫(kù)

2022-11-29 16:42:06

邊緣計(jì)算云計(jì)算

2013-11-01 09:29:32

FlashcacheFacebook

2024-08-05 13:40:00

數(shù)據(jù)模型

2024-08-19 00:25:00

2023-07-20 10:59:04

2009-11-03 10:14:41

Oracle數(shù)據(jù)庫(kù)對(duì)象

2021-09-02 08:41:19

CDN網(wǎng)絡(luò)攻擊黑客

2016-08-04 14:41:21

架構(gòu)java服務(wù)端開(kāi)發(fā)

2020-12-22 06:00:12

CDN互聯(lián)網(wǎng)邊緣計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)