Performance
刷新磁碟記憶體以進行性能基準測試?
我正在對在 ubuntu 機器(natty)上的 postgres 8.4 上執行的一些繁重的 SQL 腳本進行一些性能基準測試。
我遇到了一些相當不穩定的性能,即使我應該是唯一一個在機器上執行的人(完全相同的數據上的相同腳本可能在 20m 和 40m 中執行,沒有特定原因)。
所以,想起我遙遠的 DBA 培訓,我決定我應該刷新 postgres 記憶體,使用
sudo /etc/init.d/postgresql restart
,但它仍然不穩定!我的問題:也許我的磁碟/作業系統中缺少一些記憶體?我使用 netapp 設備作為我的儲存。我在正確的軌道上嗎?我什至想確保在開始調整之前獲得可重複的性能嗎?
如果您的儲存是網路安裝的,那麼網路和儲存設備上的活動可能會改變您的結果。在您使用的配置中涉及多層記憶體。
- 數據庫記憶體
- 作業系統記憶體
- Netapp 設備記憶體
- 磁碟/控制器記憶體
在您的情況下,我希望 O/S 和 netapp 記憶體可能是因素。更有可能是從 netapp 設備訪問數據。
其中許多很難沖洗。根據我的經驗,刷新記憶體並不是那麼有用。除非您在其他未使用的數據庫/伺服器上執行查詢,否則有許多因素會對您的結果產生更大的影響。
即使您是系統上的唯一使用者,也有定期執行並使用資源的 cron 作業。如果您在每小時的相同分鐘數(9:15、10:15、11:15 …)執行測試,看看您是否獲得更穩定的結果。
您可能想要設置一個
munin
伺服器來監控您的測試伺服器,並查看您在不同執行期間是否有類似的配置文件。sar
在後台 執行可以提供有關瓶頸的有用資訊。sar
由atsar
包提供。