Re: Performance and Clustering

Поиск
Список
Период
Сортировка
От Ozz Nixon
Тема Re: Performance and Clustering
Дата
Msg-id 4BD9D3D6.4070203@gmail.com
обсуждение исходный текст
Ответ на Re: Performance and Clustering  (Andy Colson <andy@squeakycode.net>)
Ответы Re: Performance and Clustering  (Greg Smith <greg@2ndquadrant.com>)
Список pgsql-general
> I dont think its that easy.  50,000 sockets open, sure, but whats the
> performance?  The programming model has everything to do with that,
> and windows select() wont support that many sockets with any sort of
> performance.  For windows you have to convert to using non-blocking
> sockets w/messages.  (and I've never see the PG code, but I'll bet
> it's not using non-blocking sockets & windows msg q, so 50k sockets
> using select() on windows will not be usable).
>
> That being said, I'm not a windows socket component developer, so its
> mostly guessing.  But saying "it can" and saying "its usable" are two
> different things, and that depends on the code, not the registry
> settings.
Actually that is incorrect. You can use Synchronous non-blocking
sockets. Asynchronous is a nightmare due to the overhead of pushing and
handling messages... the busier the kernel, the slower your application.
Syn-Non-Blocking will perform a small degradation in performance every
5,000 sockets. (Meaning 10,000 streams is minimally slower than 5,000 -
but enough to denote degradation).

Systems Running my product and Designs:

     AOL's Proxy Server System
     Some of the UK's largest ISP's
     AT&T Fiber Monitoring Framework
     HBO Video Streaming to Satellite
     Hart, a Front-End for TransUnion, Equifax and Experian
     OFAC Query (B-Tree Query Service, processing over 100,000 requests
a second) (*)

* WAN Latency plays a running variable on their stats, but they average
100,000+ a second during peak-hours. [1 master, 2 fail-over
load-balanced servers].

Most people run into the "2048+/-" thread limitation until they learn
how to properly manage stack allocation per thread. I have been
designing commercial enterprise socket solutions for over 15 years and
sell an SDK that no product has yet to touch and I compete with ALL the
big boys (and they all know who I am). :-) ... the limitations in
performance are factors of poor (modern sloppiness) variable allocation,
memory management, buffering techniques, etc. I got out of actively
promoting DXSock (my socket suite) when I found I could capitalize more
on my time and my product... so since 2000 - I sale my knowledge.

Factors which also come into play are the built-in overhead of the
Operating System when it is a "Network Client/Server" it has active
connections. These connections also incur the poor default settings
Microsoft picked (FIN_WAIT/2 issue which is another registry tweak).
Once you learn what servers a "Dedicated Windows Server" will not need,
rip out all of the excess "Network Client" junk (and this is well
documented all over the net) - you can produce very robust Windows
servers. (Of course there are much better solutions for production
servers than Windows - but, people still drink the Microsoft "blue"
coolaide.

* People who document the registry tweaks needed:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc38421_1500/html/ntconfig/X26667.htm

;-)

O.



В списке pgsql-general по дате отправления:

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: Storing many big files in database- should I do it?
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Storing many big files in database- should I do it?