Re: Pooling in Core WAS: Need help in performance tuning.

От: Hannu Krosing
Тема: Re: Pooling in Core WAS: Need help in performance tuning.
Дата: ,
Msg-id: 1278937338.7544.14.camel@hvost
(см: обсуждение, исходный текст)
Ответ на: Re: Pooling in Core WAS: Need help in performance tuning.  (Craig Ringer)
Список: pgsql-performance

Скрыть дерево обсуждения

Need help in performance tuning.  (Harpreet singh Wadhwa, )
 Re: Need help in performance tuning.  ("Kevin Grittner", )
 Re: Need help in performance tuning.  (Craig Ringer, )
  Re: Need help in performance tuning.  (Samuel Gendler, )
   Re: Need help in performance tuning.  (Tom Lane, )
    Re: Need help in performance tuning.  (Craig Ringer, )
     Re: Need help in performance tuning.  (Harpreet singh Wadhwa, )
     Re: Need help in performance tuning.  (Craig Ringer, )
     Re: Need help in performance tuning.  (Harpreet singh Wadhwa, )
      Re: Need help in performance tuning.  ("Jorge Montero", )
     Re: Need help in performance tuning.  (Bruce Momjian, )
    Re: Need help in performance tuning.  (Brad Nicholson, )
     Re: Need help in performance tuning.  ("Kevin Grittner", )
      Re: Need help in performance tuning.  (Matthew Wakeling, )
       Re: Need help in performance tuning.  ("Kevin Grittner", )
        Re: Need help in performance tuning.  (Matthew Wakeling, )
         Re: Need help in performance tuning.  ("Kevin Grittner", )
          Re: Need help in performance tuning.  ("Jorge Montero", )
           Re: Need help in performance tuning.  ("Kevin Grittner", )
         Re: Need help in performance tuning.  (Greg Smith, )
          Re: Need help in performance tuning.  ("Kevin Grittner", )
           Re: Pooling in Core WAS: Need help in performance tuning.  (Josh Berkus, )
            Re: Pooling in Core WAS: Need help in performance tuning.  (Craig Ringer, )
             Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
              Re: Pooling in Core WAS: Need help in performance tuning.  (Josh Berkus, )
               Re: Pooling in Core WAS: Need help in performance tuning.  (Tom Lane, )
                Re: Pooling in Core WAS: Need help in performance tuning.  (Matthew Wakeling, )
                 Re: Pooling in Core WAS: Need help in performance tuning.  (Craig Ringer, )
                  Re: Pooling in Core WAS: Need help in performance tuning.  ("Kevin Grittner", )
                   Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Greg Smith, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )
                       Re: Pooling in Core WAS: Need help in performance tuning.  (Tatsuo Ishii, )
                        Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )
                         Re: Pooling in Core WAS: Need help in performance tuning.  (Tatsuo Ishii, )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                  Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                  Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                   Re: Pooling in Core WAS: Need help in performance tuning.  (Andres Freund, )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  (Tom Lane, )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                       Re: Pooling in Core WAS: Need help in performance tuning.  (Tom Lane, )
                        Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                         Re: Pooling in Core WAS: Need help in performance tuning.  (Tom Lane, )
                        Re: Pooling in Core WAS: Need help in performance tuning.  (Vitalii Tymchyshyn, )
                        Re: Pooling in Core WAS: Need help in performance tuning.  (Josh Berkus, )
                         Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                          Re: Pooling in Core WAS: Need help in performance tuning.  (Tom Lane, )
                           Re: Pooling in Core WAS: Need help in performance tuning.  (Andres Freund, )
                           Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                            Re: Pooling in Core WAS: Need help in performance tuning.  (Josh Berkus, )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Craig Ringer, )
                  Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                   Re: Pooling in Core WAS: Need help in performance tuning.  ("Joshua D. Drake", )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  ("Joshua D. Drake", )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  ("Joshua D. Drake", )
                   Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                       Re: Pooling in Core WAS: Need help in performance tuning.  (Andres Freund, )
                       Re: Pooling in Core WAS: Need help in performance tuning.  (Craig Ringer, )
                        Re: Pooling in Core WAS: Need help in performance tuning.  (Robert Haas, )
                   Re: Pooling in Core WAS: Need help in performance tuning.  (Scott Carey, )
                    Re: Pooling in Core WAS: Need help in performance tuning.  (Joshua Tolley, )
                     Re: Pooling in Core WAS: Need help in performance tuning.  (Greg Smith, )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Andres Freund, )
                      Re: Pooling in Core WAS: Need help in performance tuning.  (Craig Ringer, )
                       Re: Pooling in Core WAS: Need help in performance tuning.  (Dimitri Fontaine, )
                       Re: Pooling in Core WAS: Need help in performance tuning.  (Hannu Krosing, )
                   Re: Pooling in Core WAS: Need help in performance tuning.  ("Joshua D. Drake", )
                Re: Pooling in Core WAS: Need help in performance tuning.  (Dimitri Fontaine, )
                 Re: Pooling in Core WAS: Need help in performance tuning.  (Magnus Hagander, )
             Re: Pooling in Core WAS: Need help in performance tuning.  (Scott Carey, )
            Re: Pooling in Core WAS: Need help in performance tuning.  (Samuel Gendler, )
          Re: Need help in performance tuning.  (Jesper Krogh, )
           Re: Need help in performance tuning.  (Greg Smith, )
            Re: Need help in performance tuning.  ("Pierre C", )
     Re: Need help in performance tuning.  (Mark Kirkwood, )
    Re: Need help in performance tuning.  (Robert Haas, )
    Re: Need help in performance tuning.  (Hannu Krosing, )
     Re: Need help in performance tuning.  (Scott Marlowe, )
      Re: Need help in performance tuning.  ("Kevin Grittner", )
       Re: Need help in performance tuning.  (Hannu Krosing, )
 Re: Pooling in Core WAS: Need help in performance tuning.  (Rajesh Kumar Mallah, )

On Mon, 2010-07-12 at 18:58 +0800, Craig Ringer wrote:
> On 12/07/10 17:45, Matthew Wakeling wrote:
> >
> > I'm surprised. Doesn't apache httpd do this? Does it have to do a whole
> > load of non-portable stuff? It seems to work on a whole load of platforms.
>
> A lot of what Apache HTTPd does is handled via the Apache Portable
> Runtime (APR). It contains a lot of per-platform handlers for various
> functionality.
>
> http://apr.apache.org/docs/apr/1.4/modules.html
>
> I don't know if the socket passing is provided as part of APR or is part
> of Apache HTTPd its self, but I wouldn't be at all surprised if it was
> in APR.
>
> Personally I'm now swayed by arguments presented here that trying to
> push pooling into core isn't really desirable, and that better
> packaging/bundling of existing solutions would be better.

"better packaging/bundling of existing solutions" is good in it's own
right,weather there will eventually be some support for pooling in core
or not.

> Perhaps documenting the pluses/minuses of the current pooling options
> and providing clear recommendations on which to use for different use
> cases would help, since half the trouble is users not knowing they need
> a pool or being confused as to which to select.
>
> This discussion reminds me a bit of Hibernate's built-in client-side
> connection pool. It has one, but it's a unloved stepchild that even the
> Hibernate devs suggest should be avoided in favour of a couple of
> external 3rd party options.

Yes, pooling _is_ often better handled as a (set of) separate options,
just because of the reason that here one size does definitely not fit
all;

And efficient in-core pooler probably will look very much like pgbouncer
running in a separate thread spawned by postmaster anyway.

Let's hope there will be some support in core for having user defined
helper processes soon(ish), so tweaking pgbouncer to run as one will be
reasonably easy :)

> A built-in pool seems like a great idea, but there are multiple existing
> ones because they solve different problems in different ways. Unless a
> built-in one could solve ALL those needs, or be so vastly simpler (due
> to code re-use, easier configuration, etc) that it's worth building one
> that won't fit everyone's needs, then it's best to stick to the existing
> external options.
>
> So rather than asking "should core have a connection pool" perhaps
> what's needed is to ask "what can an in-core pool do that an external
> pool cannot do?"

Probably nothing. OTOH there are some things that an external pool can
do that a built-in one can't, like running on a separate host and
pooling more than 32000 client connections there.

Cascaded pooling seems also impossible with built-in pooling

> Admission control / resource limit features would be great to have in
> core, and can't really be done fully in external modules ... but could
> be designed in ways that would allow external poolers to add
> functionality on top. Josh Berkus has made some good points on why this
> isn't as easy as it looks, though:
>
>
> http://it.toolbox.com/blogs/database-soup/admission-control-and-its-discontents-39895
>
> --
> Craig Ringer
>


--
Hannu Krosing   http://www.2ndQuadrant.com
PostgreSQL Scalability and Availability
   Services, Consulting and Training




В списке pgsql-performance по дате сообщения:

От: phb07
Дата:
Сообщение: Re: Slow query with planner row strange estimation
От: Josh Berkus
Дата:
Сообщение: Re: partition queries hitting all partitions even though check key is specified