Re: Shared buffers, db transactions commited, and write IO on Solaris

Поиск
Список
Период
Сортировка
От Erik Jones
Тема Re: Shared buffers, db transactions commited, and write IO on Solaris
Дата
Msg-id E64D7843-51F0-4288-80EC-8920147E333F@myemma.com
обсуждение исходный текст
Ответ на Re: Shared buffers, db transactions commited, and write IO on Solaris  (Josh Berkus <josh@agliodbs.com>)
Ответы Re: Shared buffers, db transactions commited, and write IO on Solaris  (Josh Berkus <josh@agliodbs.com>)
Список pgsql-performance
On Mar 30, 2007, at 4:46 PM, Josh Berkus wrote:

Erik,

You'er welcome!  However, I believe our situation is very different
from what you're testing if I understand you correctly.  Are you
saying that you're entire database will fit in memory?  If so, then
these are very different situations as there is no way ours could
ever do that.  In fact, I'm not sure that forcedirectio would really
net you any gain in that situation as the IO service time will be
basically nil if the filesystem cache doesn't have to page which I
would think is why your seeing what you are.

Even more interesting.  I guess we've been doing too much work with 
benchmark workloads, which tend to be smaller databases.  

Thing is, there's *always* I/O for a read/write database.  If nothing else, 
updates have to be synched to disk.

Right.  But, how *much* I/O?


Anyway ... regarding the mystery transactions ... are you certain that it's 
not your application?  I can imagine that, if your app has a fairly tight 
retry interval for database non-response, that I/O sluggishness could 
result in commit attempts spinning out of control.

Well, our application code itself doesn't retry queries if the db is taking a long time to respond.  However, we do have a number of our servers making db connections via pgpool so you may be on to something here.  While I will be taking these questions to the pgpool lists, I'll posit them here as well:  If a pgpool child process reaches it's connection lifetime while waiting on a query to complete, does pgpool retry the query with another child?  If a connection thus dies, does the transaction complete normally on the server?  If the answers to these questions are both yes, this could definitely be what was happening.

erik jones <erik@myemma.com>
software developer
615-296-0838
emma(r)



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

Предыдущее
От: Xiaoning Ding
Дата:
Сообщение: Re: scalablility problem
Следующее
От: Tom Lane
Дата:
Сообщение: Re: scalablility problem