Назад | Перейти на главную страницу

Частая запись на диск

Я делаю программу обработки данных, которая должна записывать около 50 различных файлов каждые 30 секунд. Каждый файл имеет размер около 50 КБ. Этот процесс будет выполняться круглосуточно, без выходных, 365 дней в году. Средство обработки данных построено на Node.js, а также имеет веб-сайт (LAMP), работающий на том же VPS (Debian).

Насколько я понимаю, это не очень хорошо - постоянно писать на диск все время.

Рискну ли я резко сократить жизнь диска? Вся система очень медленно реагирует? Или 50 файлов (по 50кб каждый) каждые 30 секунд не о чем вообще беспокоиться?

Зависит от ситуации, но серверные диски должны работать круглосуточно и без выходных и обычно имеют RAID, поэтому при выходе из строя диска их заменяют. Если он находится на виртуальной машине (я предполагаю, что VPS является где-то виртуализированным хостом) с хостом, обычно вас не беспокоят диски, потому что вы платите им за обслуживание оборудования.

Что касается медленного отклика / производительности диска, это зависит от базового оборудования и конфигурации. Если это где-то размещенная виртуальная машина, у вас не всегда будет стабильная производительность, если только вы не единственный гость на машине. В противном случае вы не будете знать, делают ли ваши соседи что-то, что пожирает ресурсы и время от времени заглушает их. Вы не узнаете, пока не сделаете это на самом деле.

Фактически, пока ваша система имеет много памяти для кэширования операций, все должно быть в порядке, так как дисковые операции будут просто помещаться в очередь и выполняться по мере того, как подсистема может до них добраться.

Если вы разработчик и сталкиваетесь с этим, в зависимости от того, что именно вы делаете (создание новых файлов? Добавление? Поиск?), Вы можете при необходимости переделать решение. Вы запрашиваете данные? Возможно, вам стоит подумать о том, чтобы поместить это в базу данных, которую можно масштабировать по мере необходимости.

Я бы не подумал, что 50 небольших файлов за 30 секунд будут проблемой, если с вашей памятью все в порядке, но вы не узнаете, пока не начнете использовать своего провайдера в реальном мире.