Продолжение первой части.

Мы мигрировали нашу БД на новые накопители и настало время посмотреть на картинки с производительностью.

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

Это выражается характерной пилой на графиках:

Старый сервер

Старый сервер IO Throughtput

Старый сервер IO Throughtput


Старый сервер IO Requests

Старый сервер IO Requests

Новый сервер

Новый сервер IO Throughtput

Новый сервер IO Throughtput


Новый сервер IO Requests

Новый сервер IO Requests

При этом на старом сервере очередь на IO достигала 100 запросов при загрузке IO устройства на 60%-80%. Время выполнения запроса достигало 200мс.

Старый сервер IO Queue length

Старый сервер IO Queue length


Старый сервер IO Utilization

Старый сервер IO Utilization


Старый сервер IO Timings

Старый сервер IO Timings

На новом сервере при примерно том-же объеме IO (в килобайтах и запросах/сек) очередь содержит 1, максимум 2 запроса (т.е. запрос выполняется быстрее, чем подходит следующий). Загрузка устройства меньше 1%, а время выполнения запроса — 6 мсек (похоже, что это минимум для связки ядро/sata).

Новый сервер IO Queue length

Новый сервер IO Queue length


Новый сервер IO Utilization

Новый сервер IO Utilization


Новый сервер IO Timings

Новый сервер IO Timings

Если грубо прикинуть, то получится, что производительность SSD раз в 50-80 выше производительности отдельного HDD. SSD стоит около $400 за 32GB версию. Массив из HDD сравнимой производительности был бы как минимум в 10 раз дороже. Стоимость массива еще больше увеличится, если мы добавим к ней стоимость размещения его в стойке.

Единственным открытым вопросом остается долговечность SSD, сколько времени пройдет, прежде чем там протрется «дырка».

Как это произойдет — я сразу же отпишу.

  • Sharing

    Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather