3 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果您希望在所有通話中獲得最佳性能,則應(yīng)仔細(xì)考慮您的體系結(jié)構(gòu)。例如,當(dāng)應(yīng)用程序加載時(shí),將經(jīng)常使用的查詢預(yù)先緩存在服務(wù)器RAM中可能是有意義的,而不是對每個(gè)請求都使用數(shù)據(jù)庫調(diào)用。該技術(shù)將確保對常用數(shù)據(jù)的最小應(yīng)用程序響應(yīng)時(shí)間。但是,您必須確保具有行為良好的到期策略,或者在進(jìn)行任何會(huì)影響緩存數(shù)據(jù)的更改時(shí)始終清除緩存,以避免并發(fā)問題。
通常,您應(yīng)該努力設(shè)計(jì)分布式體系結(jié)構(gòu),以便僅在本地緩存的信息過時(shí)或需要進(jìn)行事務(wù)處理時(shí)才需要基于IO的數(shù)據(jù)請求。在內(nèi)存緩存檢索中,任何“在線”數(shù)據(jù)請求的檢索時(shí)間通常比本地檢索時(shí)間長10-1000倍。僅憑這一事實(shí),與“本地與遠(yuǎn)程”數(shù)據(jù)問題相比,有關(guān)“冷數(shù)據(jù)與熱數(shù)據(jù)”的討論就顯得無關(guān)緊要了。

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
一般提示。
執(zhí)行嚴(yán)格的日志記錄,包括訪問內(nèi)容和請求時(shí)間。
初始化應(yīng)用程序以熱啟動(dòng)從上一步中拾取的非常慢的請求時(shí),請執(zhí)行虛擬請求。
除非存在實(shí)際問題,否則不要費(fèi)心進(jìn)行優(yōu)化,與應(yīng)用程序的使用者進(jìn)行交流并提出要求。如果只是想找出需要優(yōu)化的內(nèi)容,就可以輕松擁有一個(gè)連續(xù)的反饋循環(huán)。
現(xiàn)在來解釋為什么虛擬請求不是錯(cuò)誤的方法。
降低復(fù)雜性 -您正在以一種可以在不更改框架的情況下運(yùn)行的方式對應(yīng)用程序進(jìn)行預(yù)熱,并且無需弄清楚可能的時(shí)髦API /框架內(nèi)部結(jié)構(gòu)就可以正確地進(jìn)行操作。
更大的覆蓋范圍 -您正在立即對與緩慢請求有關(guān)的所有緩存層進(jìn)行預(yù)熱。
解釋高速緩存何時(shí)“冷”。
這種情況發(fā)生在您框架中應(yīng)用緩存的任何層,性能頁頂部有一個(gè)很好的描述。
每當(dāng)在可能使緩存失效的潛在更改之后必須驗(yàn)證緩存時(shí),這可能是超時(shí)或更智能的(即,緩存項(xiàng)的更改)。
逐出緩存項(xiàng)時(shí),鏈接的性能文章中的“緩存逐出算法”部分對此進(jìn)行了描述,但總而言之。
LFRU(最不常用-最近使用)緩存命中次數(shù)和年齡,限制為800個(gè)項(xiàng)目。
您提到的其他內(nèi)容(特別是重新編譯和重新啟動(dòng)IIS)會(huì)清除部分或全部內(nèi)存緩存。
- 3 回答
- 0 關(guān)注
- 538 瀏覽
添加回答
舉報(bào)