Re: profiling connection overhead

Kevin Grittner <kevin.grittner@wicourts.gov>

From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: "Jeff Janes" <jeff.janes@gmail.com>, "Robert Haas" <robertmhaas@gmail.com>
Cc: "Andres Freund" <andres@anarazel.de>, "Heikki Linnakangas" <heikki.linnakangas@enterprisedb.com>, "Bruce Momjian" <bruce@momjian.us>, <pgsql-hackers@postgresql.org>,"Tom Lane" <tgl@sss.pgh.pa.us>
Date: 2010-12-01T15:26:24Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> wrote:
> Jeff Janes <jeff.janes@gmail.com> wrote:
 
>> Oracle's backend start up time seems to be way higher than PG's.
 
> Interesting.  How about MySQL and SQL Server?
 
My recollection of Sybase ASE is that establishing a connection
doesn't start a backend or even a thread.  It establishes a network
connection and associates network queues and a connection context
structure with it.  "Engine" threads with CPU affinity (and a few
miscellaneous "worker" threads, too, if I remember right) do all the
work in a queue-based fashion.
 
Last I worked with MS SQL Server it was based on the Sybase code and
therefore worked the same way.  I know they've made a lot of changes
in the last five years (including switching to MVCC and adding
snapshot isolation in addition to the already-existing serializable
isolation), so I don't know whether connection startup cost has
changed along the way.
 
-Kevin