Re: [HACKERS] wait events for disk I/O

Поиск
Список
Период
Сортировка
От Rushabh Lathia
Тема Re: [HACKERS] wait events for disk I/O
Дата
Msg-id CAGPqQf1ZbcJCA5GoUKfrA0npj=sYP+Pk7TyLf0DnaVyoYNw66Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] wait events for disk I/O  (Michael Paquier <michael.paquier@gmail.com>)
Ответы Re: [HACKERS] wait events for disk I/O  (Rushabh Lathia <rushabh.lathia@gmail.com>)
Список pgsql-hackers


On Tue, Jan 31, 2017 at 8:54 AM, Michael Paquier <michael.paquier@gmail.com> wrote:
On Mon, Jan 30, 2017 at 10:01 PM, Rushabh Lathia
<rushabh.lathia@gmail.com> wrote:
> Attached is the patch, which extend the existing wait event infrastructure
> to implement the wait events for the disk I/O. Basically pg_stat_activity's
> wait event information to show data about disk I/O as well as IPC primitives.
>
> Implementation details:
>
> - Added PG_WAIT_IO to pgstat.h and a new enum WaitEventIO
> - Added a wait_event_info argument to FileRead, FileWrite, FilePrefetch,
> FileWriteback, FileSync, and FileTruncate. Set this wait event just before
> performing the file system operation and clear it just after.
> - Pass down an appropriate wait event from  caller of any of those
> functions.
> - Also set and clear a wait event around standalone calls to read(),
> write(), fsync() in other parts of the system.
> - Added documentation for all newly added wait event.

Looks neat, those are unlikely to overlap with other wait events.

Thanks.
 

> Open issue:
> - Might missed few standalone calls to read(), write(), etc which need
> to pass the wait_event_info.

It may be an idea to use LD_PRELOAD with custom versions of read(),
write() and fsync(), and look at the paths where no flags are set in
MyProc->wait_event_info, and log information when that happens.


Yes, may be I will try this.
 
> Thanks to my colleague Robert Haas for his help in design.
> Please let me know your thought, and thanks for reading.

Did you consider a wrapper of the type pg_read_event() or
pg_write_event(), etc.?

I thought on that, but eventually stick to this approach as it looks
more neat and uniform with other wait event implementation.

 
--
Michael



Thanks, 
Rushabh Lathia

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: [HACKERS] Speedup twophase transactions
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [HACKERS] emergency outage requiring database restart