дамп базы данных? Сорри, но это вторая ошибка одмина. Ни в коем случае не делайте дамп на продакшен веб сервере! Лучше сделать дамп на сервере настроенном сервере репликации, иначе это не продакшен сервер, а один сплошной, нескончаемый бетта-тест.
Как показывает практика не всегда речь идет о пяти секундах. Сами понимаете, как только это допущение перестает работать, ответ на вопрос в корне меняется. Конечно, это основная причина, но не единственная. Ведь для некоторых сервисов и одна секунда будет критична, а пойманный за счет этого глюк проявляясь в разных ракурсах будет долбить багрепортами техническую поддержку.
Вопрос экстренных действий с продакшенами всегда стоял и стоять будет. Пять секунд — примерно тот срок, за который делается lvmsnapshot или VS Snapshot — конечно, после ста гигабайт время увеличивается.
Если у вас High Frequency системы — такого вопроса не встанет, ибо все спроектировано, но если у вас возникла ситуация, при которой надо сделать бекап с продакшена — выбора особенно нет.
Из альтернатив — mysqldump — и лок базы на тыщу лет.
mysqldump --single-transaction --skip-lock-tables
И вуаля, база работает, дамп консистентный. Правда работает только с InnoDB таблицами, так как они поддерживают транзакции.
Lock all tables before dumping them. The tables are locked with READ
LOCAL to allow concurrent inserts in the case of MyISAM tables. For
transactional tables such as InnoDB and BDB, --single-transaction is
a much better option, because it does not need to lock the tables at
all.
действительно, процессоры сейчас многоядерные и всё такое, а вот дисковая подсистема не резиновая. И всё что процессоры насчитали может не успевать записоваться на диск, что приводит к ощутимым тормозам во всей системе. ionice здорово решает эту проблему
Есть такая программка/скрипт verynice которая запускается демоном и понижает/повышает niceness приложений исходя из настроек. Например можно поставить чтобы браузеру и видеоплееру оно давало бы повышенный приоритет, а для gcc, mencoder и т.д. — пониженный.
К сожалению игры с nice и повышением приоритетов процессов приводят только к ухудшению управляемостью системы.
ИМХО: имело бы смысл если бы допустим у большинства сетевых сервисов была возможность менять приоритет при обслуживании определенных групп пользователей в зависимости от текущей нагрузки на систему.
Кстати, для «напобаловаться» можно запустить 2+ прожорливых процесса `time md5sum /dev/urandom &` и, изменяя их приоритеты, следить за распределением процессорного времени.
Команда nice, или вежливые процессы