2015-01-20 135 views
1

當數據庫服務器(postgres 9.3)花費很長時間返回查詢數據時,我需要測試我的應用程序(用c#.net編寫)的行爲。模擬/模擬postgresql中的重負載數據庫服務器

我不想更改應用程序代碼或查詢或數據庫架構。

有沒有辦法模擬數據庫服務器被加載並模擬返回數據的延遲?

+0

一個快速的方法可以是這樣的:通過pgadmin或者您最喜歡的客戶端啓動一個事務,然後更新一個將涉及您的應用程序的表。您啓動無法更新相同行的應用程序。您可以在需要時提交或回滾事務。 – 2015-01-20 19:00:20

回答

1

您可以使用帶有大量客戶端的pgbench程序在服務器上施加高實際負載。這將創建新表,但它們可以轉換爲不同的模式,甚至可以在數據庫集羣中創建不同的數據庫。 (或者,如果甚至無法將表添加到不同的數據庫中,甚至可以在同一臺計算機服務器上的不同端口上運行單獨的數據庫實例,並加載該表。)

如果初始化pgbench模式由於數據量大,因此數據不適合RAM,這會產生較高的IO負載。如果使用較小的比例因子,則會產生較高的CPU負載。