Re: Sending result sets from backend to frontend is _slow_
От | Tom Lane |
---|---|
Тема | Re: Sending result sets from backend to frontend is _slow_ |
Дата | |
Msg-id | 23299.973562354@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Sending result sets from backend to frontend is _slow_ (pgsql-bugs@postgresql.org) |
Список | pgsql-bugs |
pgsql-bugs@postgresql.org writes: > When operating over a fast network (ethernet), the sending of select > result rows from the backend is very slow, ie. it uses only a small > fraction of available network bandwidth. I am running postgres 7.0.2 > on a Redhat 6.1 install on x86, and using the postodbc driver on > win2k, and I have looked at the odbc driver code until I am blue in > the face :-) and I am confident that it is doing the right thing with > network IO (large read buffers, 4096 bytes by default). There is also > very low CPU utilization on both machines during large result > transfers. From this, I believe the problem is in the backend, and I > think it is probably sending one row per network write. Certainly not! See the usage of pq_putbytes and pq_flush. The only not-absolutely-necessary flush in the backend is just after sending an error or notice message (which one would hope is a noncritical path). I dunno what is causing your problem, but we're not quite that dumb ;-) Depending on what your test query is, it's possible that the server machine is disk I/O bound --- have you checked? regards, tom lane
В списке pgsql-bugs по дате отправления: