On 02/06/14 11:23, Alexey Markov wrote:
Посмотрел через gstat, iostat и top -m io, что больше всего винт грузит.
Оказалось, Постгрес постоянно что-то пишет на диск, причём с хорошей
скоростью - до 15-20 мегабайт в секунду. Скорее всего, это WAL-ы для
репликации со вторым сервером и сессии веб-движка. Подозреваю, что при
запуске dd винты просто "захлёбываются", упираясь в потолок по IOPS.
Непонятно, правда, почему контроллер из-за этого дохнет. :-(

Для нагруженного PostgreSQL лучше WAL выносить на отдельный HDD.
Или можно fsync для WAL отключить, но это чревато потерей последних коммитов при потери питания или hard reset.

Кстати, а можно ли как-то ограничить число операций ввода/вывода для
процесса? Ну, типа nice, только не для ЦПУ, а для ввода/вывода. Или
хотя бы измерить их число за определённый промежуток времени?

1. возможно обычный nice снижает приоритет процесса в том числе для i/o но точно не знаю, надо смотреть исходники. Отдельного ionice как в Линухе у нас нет.

2. есть geom sched, но из реализованных шедулеров только round robin, без приоритетов:
http://www.bsdcan.org/2009/schedule/attachments/100_gsched.pdf

Ответить