Всем привет!
Друзья! я захотел протестировать производительность постгреса на двух фс ext4 и xfs.
Решил я сделать это таким образом:
— выделить раздел (LVM) 50GB;
— отформатировать под одну фс (параметры форматирования по умолчанию);
— выполнить pgbench'ем инициализацию базы таким образом чтобы заполнить 90% раздела;
— запустить одночасовое выполнение pgbench (TPC-B) с эмуляцией кол-ва клиентов 8, 16, 32, 64, 96 (т.е. для одной фс, я получу 5 результатов);
— отформатировать этот же раздел под вторую фс и повторить все заново.
Конфиг постгреса используется один и тот же на протяжении всех тестов.
Вопрос такой, можно ли доверять результатам полученных тестов и принять решение в пользу использования победившей фс (та где больше значение tps)?
итак новые данные
1. WAL нужно отселять на соседний физ.диск/рэйд
2. время выполнения нужно больше
3. iostat? нужен ли и в каком виде его собирать, портянку накопленную на несколько часов работы теста еще нужно как-то проанализировать
я бы предложил:
1. Вынести WAL и data на разные разделы, во время тестирования снимать iostat -x с обоих разделов (слишком разная нагрузка, постоянный sync или запись большим объемом).
2. работу именно с файловой системой лучше проиллюстрируют произвольные запросы в случайные таблицы (случайный доступ в разные файлы) с маленьким числом max_files_per_process (например около 30) дабы приходилось постоянно открывать/закрывать файлы.
3. А также интересно поглядеть на лог чекпоинтов опять таки при записи/апдейтах в большом числе таблиц.
1. я правильно понимаю что мы снимаем iostat -x с опеределенным интервалом? Если да, то как потом анализировать эти данные, считать среднюю? или вобще лучше завести в заббикс…
2. Уверены? ведь pgbench создает всего 4 таблицы и потом работает с ними на протяжении всего теста, не слишком много получится файлов.
3. тогда обычные логи придется писать еще на отдельный том =))
1. да например 10 секундный интервал, и строим графики с привязкой ко времени. Будут видны и чекпоинты и работа с сегментами, работа с WAL (а то извечный вопрос что лучше WAL вместе с DATA на 16 дисках RAID 1+0 либо WAL отдельно но на паре дисков в 10 рейде и дата на оставшихся 14).
2. Поэтому и говорю что он совсем не показатель для оценки ФС. Как мне эктраполировать эти 4 таблицы с синтетики в поле когда у меня в продакшене их 27 тысяч? Мы для тестов несколько меняли TPC-B. тупо разные клиенты шарахались по разным таблицам.
3. ну у вас они раз в 10 минут. кстати стоит увеличить наверное число и размер сегментов до 16М. Дабы чекпоинт триггерился таймаутом.