200萬件壓力測試,影響速度的案例

案例1:

前提:batch執行,從文件讀入10萬條數據,insert到數據庫中,沒有中間commit(win10、postgresql)。

問題:5萬件執行時間00:01:15,10萬件執行時間01:05:00。

原因:沒有commit,所有數據都在緩存中,緩存炸了。

對策:增加數據庫緩存,\PostgreSQL\10\data\postgresql.conf中“shared_buffers = 128MB”》》》“shared_buffers = 256MB”,重啓動postgresql,在services.msc中重啓,或者,在cmd中“pg_ctl restart”。

結果:10萬件執行時間00:00:30,200萬件執行時間00:19:00.

案例2:

前提:同案例1,外加select數據庫剛剛insert的數據,沒有中間commit。

問題:10萬件執行01:10:00

原因:數據量大,select的集合太大,檢索速度太慢。

對策:檢索項目,表定義中追加該項目的index,加快檢索速度。

結果:10萬件執行時間00:00:30,200萬件執行時間00:19:00.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章