簡體   English   中英

多個數據庫和單個/多個代碼庫:性能差異

[英]Multiple databases and single/multiple codebase: Performance differences

我有一個產品(例如X)托管在單個Amazon EC2實例中,供三個客戶(例如A,B和C)使用。 目前,我通過子域訪問了3個數據庫和3個代碼庫,例如:a.productx.com,b.productx.com和c.productx.com

從技術上講,我需要為客戶A,B和C使用不同的數據庫,但代碼庫可以相同(數據庫配置部分除外)。 擁有單個代碼庫和三個數據庫是否明智? 例如:如果客戶從a.productx.com登錄,我將使用A數據庫; 當它是b.productx.com時,我將使用B數據庫; 當它是c.productx.com時,我將使用C數據庫。 該代碼庫對所有人都是通用的。

這樣可以節省很多時間(輕松升級,維護)和空間,但是我不確定是否會影響性能。 換句話說,盡管客戶會通過不同的子域訪問服務器,但最終它們都將由單個代碼庫提供服務。 與擁有多個代碼庫相比,這會導致性能問題嗎? 我不是服務器/系統人員,需要您的建議。

謝謝!

關於性能的差異是,您將擁有一台服務器來處理所有3個客戶的請求,而不是擁有3個服務器,每個服務器僅為一個客戶提供服務。 如果您在3台服務器上已經有足夠的負載來充分利用它們(CPU或內存),則僅遷移到一台(相同大小的)服務器將對性能產生負面影響。

因此,如果您的服務器負載很輕,則您可以在一台相同大小的服務器上處理所有3個客戶。 或者,您可能需要使用更大的服務器(更多的CPU,更多的RAM)。

至於您的特定設置,可能很難利用一台服務器並連接到正確的數據庫,具體取決於您的用戶訪問的域。 您需要考慮解決方案如何擴展到10、20、100個客戶。 也許考慮只使用一個數據庫,但將其設計為可處理多個客戶,即對於每條數據,也將客戶ID存儲在其旁邊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM