Alex Rivera | Logout

Remote Postgresql - extremely slow

Asked 2011-01-11T12:29:27.113
12

I have setup PostgreSQL on a VPS I own - the software that accesses the database is a program called PokerTracker.

PokerTracker logs all your hands and statistics whilst playing online poker.

I wanted this accessible from several different computers so decided to installed it on my VPS and after a few hiccups I managed to get it connecting without errors.

However, the performance is dreadful. I have done tons of research on 'remote postgresql slow' etc and am yet to find an answer so am hoping someone is able to help.

Things to note:

The query I am trying to execute is very small. Whilst connecting locally on the VPS, the query runs instantly.

While running it remotely, it takes about 1 minute and 30 seconds to run the query.

The VPS is running 100MBPS and then computer I'm connecting to it from is on an 8MB line.

The network communication between the two is almost instant, I am able to remotely connect fine with no lag whatsoever and am hosting several websites running MSSQL and all the queries run instantly, whether connected remotely or locally so it seems specific to PostgreSQL.

I'm running their newest version of the software and the newest compatible version of PostgreSQL with their software.

The database is a new database, containing hardly any data and I've ran vacuum/analyze etc all to no avail, I see no improvements.

I don't understand how MSSQL can query almost instantly yet PostgreSQL struggles so much.

I am able to telnet to the port 5432 on the VPS IP with no problems, and as I say the query does execute it just takes an extremely long time.

What I do notice is on the router when the query is running that hardly any bandwidth is being used - but then again I wouldn't expect it to for a simple query but am not sure if this is the issue. I've tried connecting remotely on 3 different networks now (including different routers) but the problem remain

Edit
Report

2 Answers

8

I enabled logging and sent the logs to the developers of their software. Their answer was that there software was originally intended to run on a local or near local database so running on a VPS would be expectedly slow - due to network latency.

Thanks for all your help, but it looks like I'm out of ideas and it's due to the software, rather than PostgreSQL on the VPS specifically.

Thanks, Ricky

answered 2011-01-12T14:55:30.547
0

This is not the answer to why pg access is slow over the VPN, but a possible solution/alternative could be setting up TeamPostgreSQL to access PG through a browser. It is an AJAX webapp that includes some very convenient features for navigating your data as well as managing the database.

This would also avoid dropped connections which in my experience is common when working with pg over a VPN.

There is also phpPgAdmin for web access but I mention TeamPostgreSQL because it can be very helpful for navigating and getting an overview over the data in the database.

answered 2011-01-13T09:46:13.970

Your Answer