改善內容導向網頁應用程式的資料儲存空間效能是一項疊代程序。請務必考量應用程式需要支援的潛在處理量和資料磁碟區,以及應用程式資料庫結構和資料儲存技術。這些都是在初始設計階段應考量的重要注意事項。
多維度資源調度和快取等技術有助於提升應用程式的擴充能力,進而支援更多使用者和資料。
處理資料的處理量
處理資料的處理量是指裝置、系統或運算環境中的元件之間處理資料的速率。測量系統在特定期間內處理資料的容量。處理量是以每單位時間的資料單位表示,例如每秒位元組數 (B/s)、每秒百萬位元數 (Mbps) 或每秒交易次數 (TPS)。
處理資料的處理量是指資料庫在特定時間內可以處理的資料。內容導向的網頁應用程式非常需要即時處理大量資料,因此這一點十分重要。
可能影響處理資料處理量的因素包括:
- 資料庫的類型。某些資料庫的處理資料更有效率。
- 硬體設定。資料庫伺服器應有足夠的 CPU、記憶體和儲存空間來處理負載。
- 查詢的複雜度。與基本查詢相比,複雜查詢的處理時間較長。
處理量與資源調度有關的重要指標,是衡量內容導向網頁應用程式的容量和效率,以便處理要求和處理資料。高處理量對於管理增加的流量及維持回應式效能至關重要。
調度網頁應用程式資源時,處理量相關的注意事項包括:
考量重點 | |
---|---|
負載平衡 | 負載平衡器會將流量平均分配給應用程式的伺服器執行個體。這樣一來,就沒有任何伺服器成為瓶頸,而您可以善用多個伺服器結合的處理能力。 |
水平資源調度 | 水平資源調度可提高處理量。這包括在應用程式的基礎架構中增加更多伺服器執行個體。水平資源調度可讓應用程式將要求分配至多個伺服器,藉此提高處理量。 |
資料庫資源調度 | 如果適用,請考慮採用資料庫資源調度技術,處理增加的讀取和寫入作業。包括使用分散式資料庫,或最佳化資料庫查詢和索引建立作業。 |
資料庫自動調度資源 | 自動調度資源機制可根據即時流量模式新增或移除伺服器執行個體。雲端平台通常會提供自動調度資源功能,可根據需求調整資源。思考您的資料庫和平台可以使用哪些資源調度功能,例如 Spanner 的自動配置器服務。 |
程式碼/演算法最佳化 | 持續檢查並最佳化應用程式的程式碼和演算法,藉此提高效率。盡可能減少伺服器資源用量有助於提高處理量。 |
區域/全球 | 地區與全球資料儲存空間是指在不同地理位置儲存及管理資料的不同方式。地區資料儲存涉及將資料儲存在本機特定區域或位置,而全域資料儲存則涉及將資料儲存在位於世界不同地區的伺服器中。要選擇單一地區或全球資料儲存空間,則取決於資料大小、需要的安全層級,以及資料是否能存取不同使用者或應用程式等。 |
發布權 | 資料儲存分佈涉及將資料分散至多個實體或虛擬位置,以確保可用性、效能及安全性。方法包括分散式儲存系統和雲端解決方案,依據資料大小和複雜度、機構需求和可用技術等因素選擇。妥善規劃策略可以提供備援功能、擴充性和其他優點。 |
要獲得高處理量,就必須對系統的各個層面進行最佳化,包括硬體和軟體、網路基礎架構和資料處理演算法。內容導向網頁應用程式所需的特定技術和最佳化,取決於您的個人需求以及系統的潛在限制。
資料量
依據儲存的資料量來調度網頁應用程式的資源,需要管理及擴充資料儲存空間容量,以便因應不斷增長的資料磁碟區。資源調度時,您需要規劃能處理資料成長難題的儲存基礎架構。
調度網頁應用程式的資源時,資料儲存空間的注意事項包括:
考量重點 | |
---|---|
儲存的資料類型 | 比起其他資料類型,部分資料類型 (例如圖片、影片或二進位資料) 的儲存或占用空間可能較為困難。複雜的資料類型或結構也可能使系統的資源調度方式變得複雜。請考量您的應用程式儲存的資料類型,以及是否為最佳選擇。您也可以考慮專為您的用途或資料建構的儲存系統,例如 blob 儲存空間、媒體儲存系統或時間序列資料庫。 |
使用者人數 | 考量應用程式的未來發展。隨著您加入的使用者人數增加,也必須在系統中儲存、存取及處理更多資料。根據應用程式效能設定檔調度讀取及寫入資源,可能有助於在需求增加時進一步最佳化應用程式。 |
資料儲存技術選擇 | 評估實際的資料儲存空間需求,並選擇最合適的資料儲存技術,例如 NoSQL 和 SQL。選擇時,請考量資料結構、存取模式和擴充性需求。 |
資料分區 | 如果導入資料分區或資料分割策略,將資料分散至多個儲存空間節點,您就能分散資料負載,進而更有效率地調度資源。您可以依使用者、地理位置,或是根據應用程式的資料存取模式遵循其他條件。 |
快取與資料壓縮 | 使用快取策略將經常存取的資料儲存在記憶體中,並降低儲存系統的負載。資料壓縮技術也可以盡量減少儲存空間需求,並提高資料移轉效率。 |
資料生命週期管理 | 實施資料生命週期政策來管理資料保留、封存和刪除作業。 |
資料庫索引 | 如果適用,請調整資料庫索引、查詢效能和資料庫結構定義設計,有效率地處理不斷增加的資料集。 |
網頁應用程式資源調度時的資料儲存作業仍在持續進行,且必須配合網頁應用程式的需求。請務必定期評估儲存空間需求、監控效能,並視需求調整儲存基礎架構與策略,確保能有效且有效率地處理增加的資料數量。
快取經常存取的資料
快取資料是資源調度策略的重要組成部分,可以幫助縮短回應時間、減少後端系統的負載,並提升整體使用者體驗。快取是指將經常存取的資料儲存在臨時儲存空間層,以便快速擷取,而不用從來源重複產生資料。
請考慮應用程式經常存取的資料類型、擷取資料的模式和頻率,以及資料的大小。
調度網頁應用程式資源時的快取策略範例包括:
策略 | |
---|---|
物件快取 | 物件快取是指快取個別物件,例如資料庫查詢結果、API 回應或 HTML 片段。熱門選項包括 Redis、Memcache 和 Varnish。 |
網頁快取 | 網頁快取涉及快取整個網頁。這個選項適用於靜態內容,您可以使用反向 Proxy、靜態網站產生器或 CDN 來實作。 |
資料庫和查詢快取 | 資料庫和查詢快取是指快取經常執行的資料庫查詢的結果,藉此降低資料庫伺服器的負載。 |
全頁快取 | 全頁快取可用於動態內容。指的是快取整個轉譯的 HTML 網頁,盡可能減少伺服器和資料庫的負載。 |
用戶端快取 | 用戶端快取是指瀏覽器快取等機制,將資產儲存在本機使用者的裝置。您可以指定快取控制標頭來控制瀏覽器快取資產的時間。 |
快取是整體效能最佳化策略中不可或缺的一環,可確保應用程式能夠有效率地有效率地處理增加的使用者流量和資料需求。
調整讀取和寫入作業
請一併考量處理量和資料磁碟區需求,以及潛在的快取最佳化,以便確定應用程式資料儲存空間如何進一步擴充。選擇資料儲存系統時,請務必考量讀取和寫入的影響。考量這一點的其中一個方法是考量應用程式支援的作業類型,並針對這些用途和使用模式對資料儲存空間進行最佳化。例如,某些作業可能受益於非對稱或對稱資源調度。
非對稱資源調度
在某些情況下,內容導向的網頁應用程式可能會具有讀取或寫入不對稱性。這表示讀取或寫入量可能會比其他作業類型大幅增加。在這種情況下,請務必據此擴充資料庫。請考慮您的應用程式,以及資料的存取和寫入方式。
可能影響讀取或寫入非對稱性的因素包括:
- 應用程式類型,有些應用程式比其他應用程式更讀取密集。
- 使用者行為。使用者與應用程式互動的方式也會影響讀取或寫入非對稱性。
對稱縮放
對稱資源調度,也就是說,讀取與寫入作業可在應用程式成長時以線性方式線性調度資源,而不會遇到瓶頸。在內容導向的網頁應用程式中,對讀取和寫入作業進行對稱擴充可能難以達成,特別是在管理大量資料和高使用者流量時。
進行對稱資源調度的策略包括:
策略 | |
---|---|
分散式資料庫 | Google Cloud Bigtable 等資料庫可將資料分散至多個節點,並提供讀取和寫入作業的擴充性。 |
資料分區 | 資料分區可確保資料均勻分佈,且每個分區和資料分割都能獨立處理讀取和寫入作業。 |
快取圖層 | 為現成工作負載實作快取層。快取經常存取的資料,減少資料庫的讀取作業負載。 |
非同步處理 | 您可以使用非同步處理作業,將耗時或非緊急的寫入作業卸載到背景程序或佇列。您的應用程式會繼續處理讀取作業,無須等待寫入完成。 |
對稱資源調度需要採用對整個應用程式堆疊的全方位方法,從前端到後端,以及從資料庫到快取層。對稱資源調度有助於維持效能一致性、平衡資源使用率、高可用性,以及跨維度的擴充性。請務必視需要調整資源調度策略,並準備好應對出現的瓶頸。