From 3cc9e28b3a9b3fc2e443fdea6a6927be9c872080 Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 9 Aug 2024 07:39:34 +0000 Subject: [PATCH] docs: create sysadmin/Linux/Base-znaniy/Disk-limit --- sysadmin/Linux/Base-znaniy/Disk-limit.md | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sysadmin/Linux/Base-znaniy/Disk-limit.md diff --git a/sysadmin/Linux/Base-znaniy/Disk-limit.md b/sysadmin/Linux/Base-znaniy/Disk-limit.md new file mode 100644 index 0000000..2cdad56 --- /dev/null +++ b/sysadmin/Linux/Base-znaniy/Disk-limit.md @@ -0,0 +1,28 @@ +--- +title: Ограничение использования диска +description: +published: true +date: 2024-08-09T07:39:28.081Z +tags: limit, disk +editor: markdown +dateCreated: 2024-08-09T07:39:28.081Z +--- + +Стал регулярно сталкиваться с одной проблемой. Есть сервер с бюджетными SSD дисками. Они для многих задач вполне подходят, несмотря на низкую стоимость и скорость записи. Последнее как раз их узкое место. Но если у вас в основном с дисков чтение, то можно существенно экономить, используя десктопные диски. + +У меня как раз такой случай. Несколько виртуалок под веб сервера, где в основном чтение из кэшей на дисках. По производительности никаких нареканий, кроме одного момента. Когда дампишь для бэкапов базы данных, весь гипервизор начинает прилично тормозить, а в мониторинг сыпятся уведомления о медленном ответе веб сервера и увеличении отклика дисков. Обычно это происходит ночью и особых проблем не доставляет. Но тем не менее, решил это исправить. + +Самый простой способ в лоб - ограничить скорость пайпа, через который данные с mysqldump записываются в файл. По умолчанию всё читается и пишется параллельными потоками с одних и тех же SSD. Десктопные диски такой режим очень не любят и заметно тормозят при выполнении. + +Я использовал утилиту pv: +``` +# apt install pv +# mysqldump --opt -v --single-transaction --databases db01 | pv -L 20m > /mnt/backup/db01.sql +``` +Ограничил скорость записи в 20 MiB/s через ключ -L. Для того, чтобы посмотреть текущую скорость записи, используйте pv без ограничения: +``` +# mysqldump --opt -v --single-transaction --databases db01 | pv > /mnt/backup/db01.sql +............................ + 1319MiB 0:00:06 [ 205MiB/s] +``` +Вообще pv интересная утилита. Стоит написать о ней отдельно. Если знаете ещё какие-то способы решения этой задачи, поделитесь в комментариях. Если дампишь сразу по сети, то можно скорость сетевой передачи ограничивать. А вот так, чтобы локально, больше ничего в голову не приходит. Разве что жать сразу на лету с сильной компрессией, чтобы медленно было. Но это как-то муторно подбирать подходящую скорость. \ No newline at end of file