Как справиться с ростом нагрузки и не переплатить за ресурсы благодаря аудиту баз данных

Мы взяли на себя администрирование баз данных, оптимизировали их работу и помогли международной компании решить проблему быстродействия системы.

Как справиться с ростом нагрузки и не переплатить за ресурсы благодаря аудиту баз данных

Задача

Международный производитель пищевых продуктов размещал в облаке DataLine базы данных Microsoft SQL и администрировал их самостоятельно. Базы собирали информацию о работе мерчендайзеров в разных странах азиатского региона.

После добавления информации из новых регионов у клиента появились проблемы с производительностью баз данных. Когда мерчендайзеры пытались отправить данные в систему, все зависало. При этом увеличить мощность виртуальных машин напрямую было невозможно в связи с ограничением лицензий Microsoft SQL Server, которые выпускаются по ядрам процессора. Специалисты клиента обратились в DataLine за аудитом баз данных.

Что нужно было сделать
  • Выяснить причины неудовлетворительной работы баз данных. Клиент самостоятельно обслуживал большой парк баз данных: 45 штук суммарным объемом несколько терабайт.

    При этом в штате не было выделенного администратора баз данных (DBA), который бы мог проанализировать плохую производительность СУБД.

  • Предложить оптимальный выход из ситуации. У клиента выросло количество регионов, которые записывали данные в базу, это увеличило нагрузку. Самым простым решением казалось перейти на Enterprise-лицензию Microsoft SQL Server и увеличить объем виртуальных процессоров, но это грозило ростом бюджета. Клиент искал более эффективный и выгодный вариант.

Как решили задачу
Провели аудит

Аудит выявил несколько проблем:

  1. Все “служебные” БД обращались к одной главной базе данных. На виртуальной машине с главной базой наблюдалась полная загрузка по процессору.
  2. Дисковая очередь превышала допустимую, из-за чего возникали проблемы с откликом.
  3. Клиент использовал БД Microsoft SQL не совсем по назначению. Мерчендайзеры через приложение загружали в “служебные” базы данных текстовые файлы – информацию о том, когда и какие продукты были выложены. СУБД обрабатывала эти файлы и распределяла по таблицам. Таким образом, Microsoft SQL использовалась для обработки текстовых файлов, для чего данный тип БД не подходит. Это и служило основной причиной высокой загрузки процессора.

Так как у клиента не было выделенного DBA, который бы смог заняться решением этих проблем, администрирование БД и устранение ошибок клиент передал специалистам DataLine.

Скорректировали конфигурацию дисковой подсистемы

Для всех баз данных клиент использовал SAS-диски и контроллеры LSI. Инженеры DataLine предложили разделить базы данных по нагрузке:

  • для баз с интенсивным вводом-выводом выделили контроллер PVSCSI и SSD-диски;
  • базы данных с объемными архивами снабдили SAS-дисками и отдельным PVSCSI- контроллером. Контроллер LSI оставили только для системного диска.

Уже на этом этапе клиент увидел значительное улучшение в производительности.

Решили проблему с высокой загрузкой процессора

У клиента были выставлены некорректные ограничения по стоимости одного выполненного запроса (cost=5). В результате все запросы по умолчанию распараллеливались на все ядра процессора. Это приводило к полной загрузке ядер процессоров виртуальной машины.

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

Предложили изменения в текущую архитектуру

Как выяснилось в процессе аудита, клиент использовал Microsoft SQL для обработки текстовых файлов. Это не позволяло до конца решить проблему с чрезмерной загрузкой процессоров виртуальной машины.

Инженеры DataLine предложили изменить архитектуру: вынести обработку текстовых файлов из БД Microsoft SQL в отдельное решение, например, приложение, скрипт или базу данных MongoDB. Это приложение будет обрабатывать текстовые файлы, подключаться к SQL-серверу и вносить туда данные.

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

Что получил клиент
Экспертизу по базам данных без найма дорогостоящих DBA

Опытные DBA DataLine провели аудит и по результатам смогли найти главные причины плохой производительности БД.

Полное сопровождение всех вопросов по обслуживанию базы данных

После решения первоочередных проблем клиент передал базу данных на администрирование DBA DataLine. В рамках сервиса клиент получил не только круглосуточную техподдержку и решение возникающих инцидентов, но и все необходимое плановое обслуживание: обновление, резервное копирование, мониторинг.

Консультацию по оптимальной архитектуре ИТ-системы

Специалисты DataLine предложили альтернативу существующей архитектуре. Она поможет в корне решить проблему с производительностью системы. В данный момент клиент работает над возможными реализациями со своим подрядчиком – разработчиком ПО.

Экономию на лицензиях Microsoft SQL Server

Новая конфигурация дисковой подсистемы, а также схема ротации архивов и оптимизированные запросы позволяют добиться быстродействия системы без перехода на Enterprise-лицензию SQL Server из-за увеличения объема vCPU. В будущем с новой топологией БД клиент также сможет масштабироваться горизонтально, не переплачивая за ресурсы.

Запрос консультации по услуге "MS SQL как сервис"

Есть похожая задача? Хотите попробовать услугу "MS SQL как сервис"?

Оставьте заявку — мы свяжемся и обсудим, чем можем вам помочь

MS SQL как сервис
  • Готовая инфраструктура для развертывания базы данных: мы берем на себя администрирование физической и виртуальной инфраструктур, ОС, СУБД и резервное копирование.
  • Детальный SLA: мы гарантируем доступность облачного сервиса до 99,98 % и несем финансовую ответственность за несоблюдение договоренностей.
  • Ежемесячные платежи вместо крупных затрат на ИТ-инфраструктуру и администраторов баз данных.
  • Быстрое развертывание базы данных необходимой конфигурации и масштабируемость ресурсов.

Другие кейсы

В рамках сервиса DBaaS помогли клиенту ускорить базу данных на MS SQL Server и оптимизировали потребляемые ресурсы.

Хранение данных

Помогли интернет-магазину с нагрузками в сезон распродаж: избавили его от капитальных затрат на серверные мощности и предложили готовые кластеры Kubernetes в облаке.

DevOps

Мы помогли иностранному заказчику разместить базу данных в аттестованном облаке и соблюсти Закон о персональных данных.

Работа с персональными данными (152-ФЗ)