2010-08-05 18 views
2

問:Mysql的主數據庫使用

我繼承的是注意寫入到一個單一的主數據庫2的應用服務器包括:(爲簡單起見)的系統。一個應用程序服務器執行相當多的操作{少量時間,如毫秒。 }每單位時間。另一個應用程序服務器就像一個API服務器,客戶端通過它交互。這個「API」服務器在數據庫的一半表中操作,其中大多數其他應用程序服務器不需要這些表。但是,「API」服務器通過與SQL Server的交互,導致其他應用程序服務器失去時間和性能。

我想知道什麼是解決此問題的好方法。

想法是至今

[1]建立,這將是主 - 主與當前數據庫從屬於第二數據庫。獲取http://mysql-mmm.org/腳本並運行。 (併發性?)

[2]緩慢開始將表格從「主」數據庫移動到新的「API」數據庫中。 (大量的遺留代碼..)

[3]某種SQL優先級隊列的..(怎麼容錯會這樣?)

+0

這與Spring有關嗎? – Behrang 2010-08-05 03:41:31

+0

好吧,它是我可以使用的技術之一。所以下劃線是我們使用java w/spring和mysql – Krolique 2010-08-05 12:54:31

+0

我想你是對的,這與java或spring沒有關係。我希望可能有一個Java「SQL優先級隊列」包。 – Krolique 2010-08-05 12:56:15

回答

3

第1步 - 在哪裏工作的瓶頸是

第2步 - 決定你的最佳回報率是多少

如果你只是想讓它表現更好,那麼你必須弄清楚慢點在哪裏。理想情況下,您可以使用3個主機,每個應用程序服務器一個,數據庫一個。在這個配置中,你應該很快就能夠確定它是否是硬盤上的數據庫,或者是CPU負載,鎖定爭用等。

一旦你知道瓶頸在哪裏,你就會有很多更集中的問題來解決。您提出的選項可能會或不會有所幫助,具體取決於真正的瓶頸。