木桶理論應用在系統(tǒng)優(yōu)化中
木桶理論又稱短板理論,其核心思想是一只木桶盛水多少,并不取決于最高的木板,而取決于最短的那塊木板。
木桶原理應用在系統(tǒng)分析中,即系統(tǒng)的最終性能取決于系統(tǒng)中性能表現(xiàn)最差的組件,為了提升系統(tǒng)整體性能,對系統(tǒng)中表現(xiàn)最差的組件進行優(yōu)化可以得到最好的效果。
在網站系統(tǒng)中,用戶的訪問請求到達服務器,然后服務器返回數(shù)據并展示給用戶,這個過程要經過很多處理,每一個過程的低效都會影響系統(tǒng)整體表現(xiàn)出來的性能。
按照木桶理論,如果一臺服務器性能非常強大,擁有充足的內存資源和CPU資源,但是磁盤I/O性能不足,那么系統(tǒng)的總體性能是取決于當前最慢的磁盤I/O速度,而不是當前最優(yōu)越的CPU或者內存,此時,磁盤I/O就是系統(tǒng)的性能瓶頸。
典型的比如使用Redis進行存儲的系統(tǒng),由于Redis本身性能非常優(yōu)秀,通常情況下存儲并不會制約系統(tǒng)的性能,在海量請求的情況下,Redis的吞吐量會非常大,這時候制約系統(tǒng)的性能瓶頸就變成網絡帶寬。
壓力測試如何實施
性能測試在大型網站系統(tǒng)的設計和開發(fā)中非常重要,通常會和容量預估等工作結合在一起,穿插在系統(tǒng)開發(fā)的不同方案。
性能測試可以幫助我們及時發(fā)現(xiàn)系統(tǒng)的性能短板,評估系統(tǒng)的能力,在這個基礎在上再進行針對性的性能優(yōu)化。
同時,壓力測試還可以幫助我們驗證系統(tǒng)的穩(wěn)定性和可靠性。
一個完整的性能測試方案通常包括以下幾個方面:
1.壓力測試及生成性能報告
壓力測試一個重點是如何產生壓力,通??梢酝ㄟ^自己編寫腳本模擬請求,或者使用成熟的壓測工具進行。
壓力測試很重要的一點是如何使得模擬壓測的數(shù)據盡量真實,越接近真實用戶越好。