舊的question在Windows上引發了PostgreSQL的性能問題。從那時起,對PostgreSQL進行了一些重大改進...... Windows和Linux品種之間的性能差距有所改善?使用最新版本的Windows上的PostgreSQL性能
回答
PostgreSQL最近在Windows上表現得相當不錯。您傾向於需要使用較小的shared_buffers值,因此在閱讀針對Linux或BSD編寫的調優建議時請注意。性能差距已經縮小了很多,但經過良好調整的Linux + Pg仍然能夠勝過Windows + Pg。
對於Pg性能的大部分(非文件系統相關)建議現在適用於Windows和Linux,AFAIK。調整random_page_cost和effective_cache_size以獲得最佳性能非常重要,與在Linux/BSD上一樣,並且您可能會發現查詢規劃器選擇是次優的,直到您這樣做。同樣,您需要密切關注您的磁盤子系統,儘可能多地使用RAM等。
您在Windows上的連接數很大時會出現問題,所以我建議將PgBouncer或PgPool-II放在它的前面除非你有一個自己的連接池的應用服務器。對於* nix上的大量併發連接,Pg表現得並不是特別好,它在Windows上更糟糕。
Windows上的連接啓動/拆卸成本較高,這是在可能的情況下使用連接池的另一個原因。 Pg不能使用fork()
有效地啓動新的後端,它必須到EXEC_BACKEND
,並且執行比Linux更多的新進程設置。
雖然它更專注於Linux/BSD,但我推薦PostgreSQL的一位重要貢獻者Greg Smith撰寫了「PostgreSQL高性能」一書。如果您擔心Pg表現,這是最好的去處。
您可以通過相關版本的Release Notes。但是,提到的改進是否會幫助您解決您的具體問題是另一回事。關聯問題中的問題是否會影響您的具體情況也不清楚。
鏈接的問題覆蓋了PostgreSQL 8.2,它於2006年推出。最新版本爲9.1,並且具有一些主要性能和功能改進。但是,性能上可能會一直存在差距,因爲在Linux中有比Windows更多的選項 - 文件系統,驅動程序等。
話雖如此,如果您已使錯誤選項Linux,你可能會變得更糟。如果性能可以接受,唯一的方法就是嘗試一下 - 恐怕 - 這一切都取決於您的使用模式。
一些基本的測試表明PostgreSQL運行良好 - 當您使用少於幾百個連接時,速度與MSSQL類似。我知道PostgreSQL用於MS上「實時」應用程序的安裝。還有一些差距,但對於平常的負載並不顯着。
一點點其他問題是內存。在MS上,你需要更多的內存才能擁有相同的速度。服務器不能每次都使用交換。
- 1. DirectX和最新Windows Mobile版本的性能
- 2. 用apache更新windows上的php版本
- 3. Postpost PostgreSQL與PostgreSQL PostSharp 4.0的最新版本使用異步方法
- 4. 性能上的PostgreSQL
- 5. 在Windows 10上更新nginx到最新版本的問題ubuntu
- 6. Django和PostgreSQL的最新和最好的版本
- 7. 如何更新此版本以使用最新版本的bootstrap?
- 8. 在Windows上使用最新版本的Ruby啓動Rails應用程序
- 9. 使用版本插件更新新版本後的maven屬性
- 10. 未能安裝最新版本的Windows服務
- 11. 無法使用最新版本的wordpress
- 12. Yammer不使用AFNetworking的最新版本
- 13. Cocoapods - 在使用最新版本後使用舊版本的pod版本
- 14. 設置Qt Creator在Windows上使用g ++和gdb的最新版本
- 15. Windows上的Emacs 24.3如何升級到最新版本?
- 16. Python的 - 不能在最新版本
- 17. EC2/EBS上的PostgreSQL性能
- 18. 在windows上STS的最佳性能
- 19. 使用YouTube的v3版本獲取最新的上傳gData
- 20. aws上psycopg2的最新版本
- 21. ubuntu上的最新scipy版本
- 22. 使用最新版本的代碼塊在功能
- 23. Maven聲吶:聲吶未能使用最新的插件版本
- 24. adal.js不能使用angular和jquery的最新版本
- 25. jQuery ui.selectmenu不能使用最新版本的jQuery和Colorbox
- 26. 衝突,同時使用最新版本的PHP版本
- 27. 烏龜SVN使用以前的版本爲最新版本
- 28. 需要使用jQuery版本1.7.1或2的最新版本jscrollpane.js
- 29. 如何在Heroku上使用Imagemagick的最新版本?
- 30. 如何在Linux上使用最新版本的Ruby global?