2013-03-05 3 views
3

Я запускаю большое количество фоновых задач на сервере PostgreSQL, используя Sidekiq для обновления записей из внешнего источника. Но всякий раз, когда я начинаю писать из фонового процесса, мои SELECTs страдают, и веб-приложение становится медленным.База данных INSERT/UPDATE с помощью фонового задания при минимизации воздействия на чтение

Какая стратегия лучше избегать блокировки чтения?

ответ

2

Вы можете использовать команду «Терминал» Renice

renice -p 1337 -n 5 

Это изменяет приоритет процесса с идентификатором 1337, чтобы иметь новый приоритет 5. Масштаб процесса работает от -20 до 20, где -20 является наивысший приоритет и 20 - самый низкий приоритет.

http://manpages.ubuntu.com/manpages/precise/en/man1/renice.1posix.html

+0

Если процесс записи/обновления заблокировала строки базы данных, это может ухудшить ситуацию. (блокировки с фиксацией приоритетов с низким приоритетом) – wildplasser