私は自分自身でVPSにPostgreSQLをセットアップしました。データベースにアクセスするソフトウェアはPokerTrackerというプログラムです。リモートPostgresql - 極端に遅い
オンラインポーカーをプレイしている間、PokerTrackerはすべての手と統計情報を記録します。
これは私のVPSにインストールすることを決めたいくつかの異なるコンピュータからアクセスしたいと思っていましたが、いくつかの問題があってもエラーなしで接続できました。
しかし、パフォーマンスは恐ろしいです。私は 'リモートpostgresqlの遅い'などの研究のトンを行い、まだ誰かが助けることを望んでいるので、答えを見つけることです。
注記:
実行しようとしているクエリは非常に小さいです。 VPS上でローカルに接続している間、クエリは即座に実行されます。
リモートで実行しているときに、クエリの実行に約1分30秒かかります。
VPSは100MBPSで動作していますが、コンピュータからは8MBのラインに接続しています。
2人の間のネットワーク通信はほぼ即座ですが、遠隔地にも接続することができます。また、MSSQLを実行しているいくつかのWebサイトをホストしていて、リモートまたはローカルに接続されていてもPostgreSQL 。
私は最新バージョンのPostgreSQLと最新の互換性のあるバージョンのソフトウェアをソフトウェアで実行しています。
データベースは新しいデータベースであり、データはほとんどなく、私はvacuum/analysisなどを実行していないので、改善は見られません。
私はMSSQLがほとんど即座にどのようにクエリできるかわかりませんが、PostgreSQLの苦労はそれほどありません。
私は何の問題もなくVPS IPのポート5432にtelnetで接続することができるよ、と私は、クエリを実行しないと言うように、それはちょうど、非常に長い時間がかかります。
クエリが実行されているときに帯域幅がほとんど使用されていない場合、ルータ上で通知されますが、単純なクエリでは期待しませんが、これが問題であるかどうかはわかりません。私は3つの異なるネットワーク(異なるルータを含む)で遠隔接続しようとしましたが、問題は残ります。
LAN経由で別のマシン経由でリモート接続することは瞬時に行われます。
私はpostgre confファイルを編集してメモリ/バッファなどを増やすこともできますが、これは問題ではないと私は思っています。これは非常に単純です。 。
おかげで、 リッキー
編集:クライアントとサーバーの両方がWindowsを実行しているのでご注意ください。
ここには設定ファイルの情報があります。
pg_hba - currently allowing all traffic: # TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: # host all all ::1/128 md5
そしてpostgresqlconf - 私はそれが問題だった場合だけでテストし、この設定にバッファ/メモリのいくつかの巨大な量を与えてくれた承知している - だけアンコメント行を示す:
listen_addresses = '*' port = 5432 max_connections = 100 shared_buffers = 512MB work_mem = 64MB max_fsm_pages = 204800 shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll' log_destination = 'stderr' logging_collector = on log_line_prefix = '%t ' datestyle = 'iso, mdy' lc_messages = 'English_United States.1252' lc_monetary = 'English_United States.1252' lc_numeric = 'English_United States.1252' lc_time = 'English_United States.1252' default_text_search_config = 'pg_catalog.english'
必要な情報は、私に知らせてください。あなたのすべての協力に感謝します。
クエリ、関連するテーブルのサイズ、出力のサイズを投稿してください。 – Quassnoi
ポストグルの問題ではなく、ネットワーキングの問題のようです。 'psql -h server ...'を使ってクライアントマシンからクエリを実行するとどうなりますか?あなたは代わりにsshトンネルでそれを行う場合はどうなりますか? –
私は重要な情報を見逃していることを知っていました。私は両方のオペレーティングシステムがWindowsを実行していると言って忘れました。私はそれが必要な場合は、クエリを投稿しますが、それは単純なクエリです、ただ1つのテーブルを見て問題を引き起こすようです。私は、それがローカルで瞬間的であるにもかかわらず、それがリモートで実行しているにもかかわらず、膨大な遅延があるときに、それがどのようにクエリに起因するのかを見ることができません。 – Ricky