[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Google
  Web www.spinics.net

Re: High latency when port-forwarding postgresql (for statements which don't return data)



Hi Clemens,
There are various scenarios for decreased latency.

1. Kindly check the host entry if dbserver is internal and not
communicating to Internet
2. Please traceroute/ use sniffer on forwarded port will give you exact
route followed.

Regards
Amol Arakh


On Tuesday 22 March 2011 07:05 PM, Clemens Eisserer wrote:
> Hi,
>
> I experience a very strange problem, when using the jdbc driver with
> ssh's local port forwarding:
> ssh -v -L 4321:dbserver:5432 user@dbserver
>
> SELECT statements show about the same latency as without
> port-forwarding (and even decreased latency when compression is
> enabled), but sometimes UPDATE/DELETE statements take seconds to
> complete.
> The other time they are as fast as they should be. When I connect to
> postgres without port-forwarding the update statements consistently
> take only a few milliseconds.
>
> Any idea what the reason could be, I've tested it with two different
> ssh clients (one java, and openssh) both show the same behaviour.
> Could it be some buffering on the server side, to make data transfer
> more efficient?
> Could it be because selects usually send a lot of data back to the
> client, buffering doesn't hurt - but for update/delete usually only a
> acknoledgement is sent back and buffering starts to be an issue?
>
> Thank you in advance, Clemens
>
>
> Btw the java-based client seems to be waiting for data while it
> executes the statements:
>
> java.net.SocketInputStream.socketRead0(Native Method)
> java.net.SocketInputStream.read(SocketInputStream.java:129)
> org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:135)
> org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:104)
> org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
> org.postgresql.core.PGStream.ReceiveChar(PGStream.java:259)
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1620)
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
>    - locked org.postgresql.core.v3.QueryExecutorImpl@17b1683
>



[Home]     [Fedora Users]     [Fedora Legacy]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

Add to Google Powered by Linux