28 lines
3.3 KiB
Markdown
28 lines
3.3 KiB
Markdown
---
|
||
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 интересная утилита. Стоит написать о ней отдельно. Если знаете ещё какие-то способы решения этой задачи, поделитесь в комментариях. Если дампишь сразу по сети, то можно скорость сетевой передачи ограничивать. А вот так, чтобы локально, больше ничего в голову не приходит. Разве что жать сразу на лету с сильной компрессией, чтобы медленно было. Но это как-то муторно подбирать подходящую скорость. |