远程Postgresql - 非常慢

Ric*_*cky 9 postgresql performance vps

我已经在我拥有的VPS上设置了PostgreSQL - 访问数据库的软件是一个名为PokerTracker的程序.

PokerTracker在玩在线扑克时会记录您的所有牌局和统计数据.

我希望这可以从几台不同的计算机访问,所以决定将它安装在我的VPS上,经过几次打嗝后我设法让它连接没有错误.

但是,表现可怕.我已经做了很多关于'远程postgresql慢'等的研究,我还没有找到答案所以希望有人能够提供帮助.

注意事项:

我试图执行的查询非常小.在VPS上本地连接时,查询立即运行.

在远程运行时,运行查询大约需要1分30秒.

VPS运行100MBPS,然后我连接的计算机是8MB线路.

两者之间的网络通信几乎是即时的,我可以远程连接,没有任何延迟,并且正在托管几个运行MSSQL的网站,并且所有查询都可以立即运行,无论是远程连接还是本地连接,所以它似乎特定于PostgreSQL.

我正在使用他们的软件运行他们最新版本的软件和PostgreSQL的最新兼容版本.

数据库是一个新的数据库,几乎没有任何数据,我运行真空/分析等都无济于事,我看不到任何改进.

我不明白MSSQL几乎可以立即查询,但PostgreSQL如此挣扎.

我可以telnet到VPS IP上的端口5432没有问题,正如我所说的查询确实执行它只需要很长时间.

我所注意的是在查询运行时在路由器上几乎没有使用任何带宽 - 但是我再也不希望它用于简单查询但不确定这是否是问题.我现在尝试在3个不同的网络上远程连接(包括不同的路由器),但问题仍然存在.

通过LAN通过另一台机器远程连接是即时的.

我还编辑了postgre配置文件以允许更多的内存/缓冲区等,但我不认为这是问题 - 我要求它做的很简单 - 它根本不应该是密集的.

谢谢,瑞奇

编辑:请注意客户端和服务器都运行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'

需要的任何其他信息,请告诉我.感谢你的帮助.

Ric*_*cky 5

我启用了日志记录功能,并将日志发送给他们的软件开发人员。他们的回答是,最初打算在本地或接近本地数据库上运行该软件,因此由于网络延迟,在VPS上运行预计会很慢。

感谢您的所有帮助,但似乎我没有主意,这是由于软件而不是VPS上的PostgreSQL。

谢谢,瑞奇