Re: Committing Resources to Win32
От | Andrew Dunstan |
---|---|
Тема | Re: Committing Resources to Win32 |
Дата | |
Msg-id | 3FB046EF.40707@dunslane.net обсуждение исходный текст |
Ответ на | Re: Committing Resources to Win32 ("Jim Jones" <jjones@aantix.com>) |
Список | pgsql-hackers-win32 |
Using completion ports assumes your app is threaded in the first instance, doesn't it? Unless I am mistaken, at the moment . we don't have a server app at all . our code base does not currently support threading, and we want to keep to a single code base - corollary: we don't know if supporting POSIX threads and Windows threads in a single code base is possible or sensible . we don't know of any OpenSource tools that support compiling threaded apps with TLS on Windows (specifically, MinGW does not, apparently) So I suspect we are a very long way from being able to use Completion Ports. cheers andrew Jim Jones wrote: >If you guys have already discussed the following possibilities, I >apologize. I joined the list late. > >The correct way to create a high performance server on the Windows >platform (NT, Advanced Server, etc) is to utilize IO Completion Ports. >The kernel will manage your connection pool and threading for you. Any >object that is serializable can utilize this model (sockets, files, >etc). > >If one thread becomes busy with processing, a second worker thread is >awoken, and it performs the processing. Sockets and threads are all >preallocated to increase performance. > >Here are a couple informative articles on the subject : > >Writing scalable server applications using IOCP >http://www.codeproject.com/internet/iocp.asp > >Developing a Truly Scalable Winsock Server using IO Completion Ports >http://www.codeproject.com/internet/winsockiocp.asp > >The Microsoft SDK comes with a free compiler, but you will have access >to only the API functions, none of the frameworks (MFC, ATL, etc). > >Jim > > >-----Original Message----- >From: pgsql-hackers-win32-owner@postgresql.org >[mailto:pgsql-hackers-win32-owner@postgresql.org] On Behalf Of Joshua D. >Drake >Sent: Monday, November 10, 2003 4:57 PM >To: Andrew Dunstan >Cc: pgsql-hackers-win32@postgresql.org >Subject: Re: [pgsql-hackers-win32] Committing Resources to Win32 > > > > >>*nod* >> >>Joshua, can you tell us any more about the nature of your client's >>app(s)? Speculating like this in the dark is a bit fruitless. >> >> >> >I can't legally tell you much but what I can tell you is: > >There application creates a great deal of processes that open and close. > > >On Linux which has a very light process model the performance hit is >nominal. On platforms like Win32 or Solaris where processes are >expensive, under heavy load you can see a pretty significant increase in > >performance by going to a threaded model. > >They are currently running our Cygwin installation which combined with >connection pooling has provided "ok" performance but nothing >worth writing home about (especially considering they compared against >Linux). > >I am not going to lie, from a Windows perspective I am a little bit of a > >PHB. I don't develop (personally) on Windows. However the >customer requirements are simple: > >Command Prompt needs to provide a native Win32 PostgreSQL version that >supplies a reasonable proximity of performance >per the Linux native version. The Win32 native version must also >maintain the same level of transactibility as the Linux version. > >My customer is a house of Windows C/C++ and they are telling me that >using CreateProcess will not generate that proximity. > >They and I could be totally on crack, but my own research suggests >pretty much the same thing and the Windows programmers >that I have talked to that are not associated with this customer also >say the same thing. > >What this all comes down to for us is this: > >Can we (the community) develop a Win32 native version using >CreateProcess that will scale and perform at a level that >is acceptable to wide general use. Understanding that for many >operations PostgreSQL on Linux will perform as well if >not faster than the other well known database with the letter O in their > >name. > >Sincerely, > >Joshua Drake > > > > > > >>cheers >> >>andrew >> >> >>---------------------------(end of >> >> >broadcast)--------------------------- > > >>TIP 5: Have you checked our extensive FAQ? >> >> http://www.postgresql.org/docs/faqs/FAQ.html >> >> > > > >
В списке pgsql-hackers-win32 по дате отправления: