До сих пор запуск всех тестов нашего программного обеспечения, созданного с использованием следующих компонентов, занимает один час: Linux, PostgreSQL, Python, Django.
Я предполагаю, что производительность может быть улучшена, если мы подделаем вызовы fsync.
В PostgreSQL есть возможность отключить fsync, но не лучше ли указать всей операционной системе откладывать fsync настолько, насколько это возможно?
Обновление: я знаю, что это небезопасно, и сбой сервера может привести к невозможности восстановления системы. Но это неважный jenkins slave, который можно быстро настроить заново.
Обновление 2: PostgreSQL — это всего лишь одна из многих служб, работающих на этом хосте. Я ищу решение на уровне операционной системы.
fsync()
должен сбрасывать только целевые файлы. Возможно, какой-то другой процесс в системе выполняет глобальный вызовsync()
? Лично я настоятельно рекомендую использоватьUNLOGGED
таблицы вместо отключенияfsync
. - person Craig Ringer   schedule 30.01.2014