古いquestionは、Windows上でPostgreSQLのパフォーマンスに関する問題を提起しました。 PostgreSQLはWindowsとLinuxの間でパフォーマンスの差が改善されて以来、大きな改善が見られました。PostgreSQLの最新バージョンを使用したWindows上でのパフォーマンス
答えて
最近、PostgreSQLはWindowsではうまく機能します。より小さなshared_buffers値を使用する必要がある傾向があります。したがって、LinuxまたはBSDのチューニング・アドバイスを読むときに注意してください。パフォーマンスの差はかなり狭くなっていますが、うまく調整されたLinux + PgはWindows + Pgのチューニングではまだ優れています。
Pgのパフォーマンスに関する(ファイルシステム以外の)アドバイスのほとんどは、WindowsとLinuxのAFAIKにかなりよく適用されます。 Linux/BSDと同じように、random_page_costとeffective_cache_sizeをチューニングして最高のパフォーマンスを得ることが重要です。そうするまで、最適化されていないクエリプランナーの選択肢があるかもしれません。同様に、ディスクサブシステムに細心の注意を払い、できるだけ多くのRAMを確保する必要があります。
Windowsでの接続数が多いため、PgBouncerまたはPgPool-IIをその前に置くことをお勧めします独自の接続プーリングを行うアプリケーションサーバーを使用している場合を除きます。 * nixでも膨大な数の同時接続でPgが特にうまく動作しません.Windowsではそれほど悪くありません。
可能な場合は接続プールを使用するもう1つの理由は、Windowsの接続開始/ティアダウンコストが大きいことです。 Pgはfork()
を使用して効率的に新しいバックエンドを開始することはできません。これはEXEC_BACKEND
になり、Linuxよりも新しいプロセス設定が行われます。
Linux/BSDの方がやや重視されていますが、PostgreSQLの重要な貢献者であるGreg Smith氏の著書 "PostgreSQL high performance"をお勧めします。あなたがPgのパフォーマンスを心配しているなら、それは最高の場所です。
該当するリリースのRelease Notesで作業できます。しかし、上記の改善があなたの特定のケースであなたを助けるかどうかは別のことです。また、リンクされた質問の問題があなたの特定のケースに影響を与えるかどうかは明確ではありません。
リンクされた質問は、2006年にリリースされたPostgreSQL 8.2をカバーしています。最新のリリースは9.1であり、主要なパフォーマンスはおよびです。しかし、LinuxよりもLinuxよりも多くのオプションがWindowsよりも多いため、パフォーマンスには常に差があります。
を間違ってにするとLinuxでは、悪化する可能性があります。パフォーマンスが許容できるかどうかを知る唯一の方法は、私が恐れていることです。すべてがあなたの使用パターンに依存します。
いくつかの基本的なテストによれば、PostgreSQLはうまく動作します。何百もの接続を使用しないと、スピードはMSSQLと似ています。私はPostgreSQLがMSの "リアルタイム"アプリケーションに使用されるインストールを知っています。まだ若干のギャップがありますが、通常の負荷ではそれほど重要ではありません。
その他少し質問がRAMです。 MSでは、同じ速度を持つためにさらに多くのメモリが必要です。サーバーは毎回スワップを使用してはなりません。
- 1. DirectXと最近のWindows Mobileバージョンのパフォーマンス
- 2. は、ネステッド・ループを使用したSQLクエリのパフォーマンスを向上させる - PostgreSQLの
- 3. Windowsアプリケーションのパフォーマンスを向上
- 4. ApacheでWindows上でphpのバージョンを更新する
- 5. 最新の安定したバージョンのkurento
- 6. Windows上で新しいバージョンをインストールする(アップグレード)
- 7. PostgreSQLを使用して最新のレコードを更新するには?
- 8. PostgresqlデータベースのパフォーマンスをDjangoで最適化しますか?
- 9. PostgreSQL - 大きなデータベースで配列を使用した場合のパフォーマンス
- 10. Windows上でPostgreSQL 9.1を使用するためのplperlを入手した人はいますか?
- 11. Windows用の最新のヘルプシステム
- 12. 最新のBoostバージョンをTravisで使用する方法CI
- 13. Windows上でどのバージョンのPerlを使うべきですか?
- 14. スキーマダンプを使用したPostgreSQLスキーマの更新
- 15. PythonワークフローでのPostgreSQLのパフォーマンスとメモリ使用の調整
- 16. PostgreSQLを使用して上位N個の値を更新する
- 17. 最新のMagentoバージョン
- 18. 最新バージョンのWinDiff?
- 19. RubyはWindows上のRuby 1.9.2とscrubytを使用したWindows
- 20. lzo.net(メモリ圧縮時)で使用するlzo.dllの最新バージョン
- 21. Windows 7に最新バージョンのRailsをインストールするための最新のガイドがありません
- 22. リスト上のAnyなどを使用したときのパフォーマンスの向上
- 23. Code :: Blocksを使用したWindows上でのFLTKの構築
- 24. Maven NARプラグインを使用したWindows上でのDLLへのリンク
- 25. スクリプト/タグを使用してIE Docモードを最新バージョンに更新します。
- 26. ファイアウォールを介したHTTPバージョンのパフォーマンス
- 27. PostgreSQLのビッグテキストカラムのパフォーマンス
- 28. Windows XPまたは7で最新の.NETフレームワークを使用できますか?
- 29. ユニバーサルWindowsクラスライブラリで最新のドットネットコアを使用するには?
- 30. ソースに関係なく最新のgemバージョンを使用する