При планировании потребностей приложения в хранении данных первым и важнейшим фактором должна быть скорость потребления дискового пространства, то есть рост объема данных за конкретный отрезок времени. Учет интенсивности потребления дискового пространства может сыграть ключевую роль в работе сайтов, связанных с потреблением, обработкой и хранением мультимедийных файлов (графики, видео- и аудиоданных). Однако за скоростью потребления дискового пространства важно следить даже при незначительном росте сайта.

Вероятно, дисковое пространство — самая понятная из всех метрик мощностей. Даже технически некомпетентный пользователь компьютера понимает, что будет, если на диске кончится свободное место.

Что же касается скорости потребления дискового пространства, главный вопрос формулируется так:

  • Когда на диске кончится свободное пространство?

Реальный пример: отслеживание скорости потребления дискового пространства

На сайте Flickr для отправки и хранения фотографий расходуется огромный объем дискового пространства. Я использую этот простой случай как пример планирования скорости потребления.

Фотографии, отправленные пользователями, делятся на группы в зависимости от их размера и передаются в подсистему хранения. Компания собирает разнообразные метрики, относящиеся к этому процессу, в том числе:

  • продолжительность обработки каждого изображения при преобразовании его в различные варианты размера;
  • количество отправленных фотографий;
  • средний размер фотографий;
  • объем дискового пространства, занимаемого фотографиями.

Позднее вы увидите, почему были выбраны именно эти метрики, а пока нас интересует последний пункт: общее потребление дискового пространства по времени.

Сбор и сохранение данных происходит ежедневно. Этот промежуток времени обеспечивает достаточную детализацию для отображения закономерностей за неделю, месяц, квартал и праздничный сезон.

Следовательно, данные могут использоваться для прогнозирования того, когда возникнет необходимость в закупке нового оборудования. В таблице представлены данные о потреблении дискового пространства (только для фотографий) за двухнедельный период в 2005 году.

Таблица. Пример статистики ежедневного потребления дискового пространства

Дата

Общее потребление, Гбайт

Ежедневное потребление, Гбайт

26/07/05

14321,83

138,00

27/07/05

14452,60

130,77

28/07/05

14586,54

133,93

29/07/05

14700,89

114,35

30/07/05

14845,72

144,82

31/07/05

15063,99

218,27

01/08/05

15250,21

186,21

02/08/05

15403,82

153,61

03/08/05

15558,81

154,99

04/08/05

15702,35

143,53

05/08/05

15835,76

133,41

06/08/05

15986,55

150,79

07/08/05

16189,27

202,72

08/08/05

16367,88

178,60

Данные в таблице были получены при помощи задания cron, запускающего сценарий для сохранения вывода стандартной команды Unix df. Затем данный объединяются и выводятся в управляющем приложении. (Flickr также собирает информацию с намного большей детализацией [минуты] с использованием Ganglia, но для текущего примера — этo несущественно.)

Ежедневное потребление дискового пространства

При отображении данных из таблицы на диаграмме ясно видны два обстоятельства. Из рисунка сразу видно, что 31/7 и 07/08 пользователи отправляли много фотографий. Стоит учесть, что 31 июля и 7 августа 2005 года — это воскресенья. И действительно, данные, собранные за продолжительный период, показывают, что по воскресеньям всегда наблюдается пик отправки фотографий. На диаграмме также проявляется другая общая закономерность: пятница — день недели с минимальным объемом потребления дискового пространства. Тенденции будут рассматриваться далее, а пока достаточно знать, что для их проявления данные должны собираться с соответствующей детализацией. На некоторых сайтах колебания метрик отображаются по часам (например, ленты новостей или информация о погоде), другие сайты используют месячные сводки (повышенный объем продаж перед Рождеством на сайтах розничной торговли).