2011-04-20 83 views
6

我目前正在測試一些不同的關係數據庫管理系統。 (MySQL,PostgreSQL,Oracle和Firebird SQL)使用Java應用程序來執行此操作。性能測試各種數據庫

我在辯論我應該運行什麼測試來區分每個的性能。

明顯的將是insert,select,deletedrop

我很想聽聽你的意見,並使其適用於問題答案的格式,我會要求5個最合適的測試來表明性能差異。在理想的世界中,我想模仿真實的文字使用。

感謝所有回答。

+0

感謝Lwburk的整潔。 – 2011-04-20 20:22:04

回答

3

我認爲他們中的任何一個都可能會很好。但是,根據您的應用程序,您嘗試執行的不同數據庫配置會有所不同。

建議的地方開始:尋找類似於你的應用程序。如果可以的話,看看他們在用什麼。然後開始測試具有類似配置的不同數據庫,並查看哪些適合您。

就我個人而言,我在過去的11年中使用過Oracle,MySql和Postgres,並且它們都運行良好。這完全在您的配置中,這是一個好的DBA派上用場的地方。

+0

嗨艾倫,應用程序的目的是應用測試。應用程序只需創建一個連接,然後通過用戶輸入操作數據庫,並在用戶界面中輸出任何reuslts。謝謝您的意見。事實上,我感謝大家的意見,這將有助於我建立預期的結果。我正在測試RDBMS,其中運行的應用程序在不同的服務器上運行不同的O.S和RDBMS。再次感謝! – 2011-04-20 20:11:37

+0

好的,在這種情況下,然後設置你想要執行的測試的基線。我會說,一般來說,任何寫入的內容都需要比讀取內容更多的資源。所以使用一些插入和更新查詢。然後使用一些選擇。這些可以批量運行,可能會循環。一旦建立基線,重要的是在每個數據庫上運行同一組查詢。並確保每個數據庫上的配置儘可能接近等效,以產生有效的結果。 – 2011-04-20 20:55:18

+0

這正是我正在尋找謝謝的那種輸入!下面的幾個鏈接應該可以幫助我建立一些適當的測試。再次感謝! – 2011-04-20 21:01:11

1

測試併發性。換句話說,在各種鎖定情況下會發生什麼?理想情況下,您希望儘可能接近真實世界的條件下進行測試,多個用戶正在使用該系統。請參閱我對this SO question的回答。

+0

我很感激你花時間。 – 2011-04-20 20:23:33

2

以下是JPA提供程序和RDBMS的fairly extensive benchmarks的結果。您可以使用它們提供的數據,也可以使用download their code並自行運行。

+0

謝謝你的時間。我相信這一定會幫助我以更合適的方式來組織我的發現。 – 2011-04-20 20:23:03

+0

@ user671430 - 很高興您覺得此信息有用。如果您認爲能夠充分解決您的問題,請隨時「接受」我的回答。 – 2011-04-20 20:25:10