古い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. Postgresqlクエリのパフォーマンスを向上
- 3. は、ネステッド・ループを使用したSQLクエリのパフォーマンスを向上させる - PostgreSQLの
- 4. Ionic - Windows上でのIOS用ビルド(最新のIOSとIonic用)
- 5. Windowsアプリケーションのパフォーマンスを向上
- 6. Windows 7 - PostgreSQL用のPHP + ODBCを使用した場合のエラー
- 7. ApacheでWindows上でphpのバージョンを更新する
- 8. Windowsローカルホスト上のRedisパフォーマンス
- 9. パフォーマンス問題Windows上のmongo
- 10. Windows上で新しいバージョンをインストールする(アップグレード)
- 11. 最新の安定したバージョンのkurento
- 12. 新バージョンでgitショートカットを使用して、古いバージョンを上書き
- 13. Windows用の最新のヘルプシステム
- 14. PostgresqlデータベースのパフォーマンスをDjangoで最適化しますか?
- 15. PostgreSQLでのPostgreSQLのアップグレードがPostGISバージョンでブロックされました
- 16. PostgreSQLを使用して最新のレコードを更新するには?
- 17. GraphxでSparkを使用した場合の最短経路パフォーマンス
- 18. PostgreSQL - 大きなデータベースで配列を使用した場合のパフォーマンス
- 19. Windows上でPostgreSQL 9.1を使用するためのplperlを入手した人はいますか?
- 20. Windows上でNode.js、express、Angular、Postgresqlを使用しています。サーバー間で更新をミラー化してコード化する最良の方法は何ですか?
- 21. ルビーマイン私はルビーマインの最新バージョンを使用しているデータベース
- 22. ノード2の最新バージョンを使用していないPM2
- 23. Windows上でどのバージョンのPerlを使うべきですか?
- 24. データフレームとSQLを使用したPysparkのパフォーマンスの向上
- 25. CURLを使用したPHPプロキシグラバーチェッカーのパフォーマンスの向上
- 26. 最新のBoostバージョンをTravisで使用する方法CI
- 27. 最新バージョンのCaffeをDIGITSで使用するには?
- 28. 32ビットOSでaaptとadbの最新バージョンを使用
- 29. Windows XP 32bitで動作するPython 3とPyQt5の最新バージョン
- 30. RubyはWindows上のRuby 1.9.2とscrubytを使用したWindows