Re: Using Threads?
От | Alfred Perlstein |
---|---|
Тема | Re: Using Threads? |
Дата | |
Msg-id | 20010102092425.M19572@fw.wintelcom.net обсуждение исходный текст |
Ответ на | Re: Using Threads? (Myron Scott <mscott@sacadia.com>) |
Список | pgsql-hackers |
* Myron Scott <mscott@sacadia.com> [010102 08:47] wrote: > > > Alfred Perlstein wrote: > > > > > > It's possible what you're seeing is the entire process > > wait for a disk IO to complete. > > > > I'm wondering, how many lwps does your system use? Are all > > the threads bound to a single lwp or do you let the threads > > manager handle this all for you? > > > > Yeah, I looked at this. I have one thread per process that > does all flushing of buffer pages at transaction commit. > The client threads register buffer writes with this thread and > wait for this thread to complete writes > at transaction end. Unfortuately, selects also wait which really > isn't nessessary. I hoped this would speed > simultaneous connections. I created this as both > a bound thread with its own lwp and a threads manager > managed thread. I eventually settled on a threads manager > managed thread, thinking that I wanted to set the priority > of this thread low and commit as many transactions as > possible simulateously. Maybe, I should rethink this. > > As for client threads, that is managed by TAO and I > haven't really played with that configuration. I think you're saying you have an lwp in what you used to be per-process context? Meaning if you have 4 connections, you should have 4 lwps doing disk IO? If that's true, most likely your problems may be elsewhere, but since you seem to be overcaching your writes you may be pessimizing the writes. I wouldn't try to buffer it all, instead I would hold off until a write is done that isn't contiguous to the last write position and then being a flush operation. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk."
В списке pgsql-hackers по дате отправления: