Команда копирования базы данных SQL Azure вызывает замедление в исходном приложении Azure - PullRequest
0 голосов
/ 28 октября 2019

Мы используем Devops для воссоздания нашей демо-среды. В рамках развертывания Devops у нас есть задача Azure Powershell, чтобы скопировать нашу производственную базу данных SQL Azure в «демонстрационную» базу данных на том же сервере, на котором расположена база данных prod.

Сначала мы ищем базы данных на сервере иесли база данных "demo" существует, мы ее удаляем:

Remove-AzSqlDatabase  -ResourceGroupName prdResource -ServerName  prdServer -DatabaseName demoDb 

Затем мы копируем базу данных prod в базу данных demo:

New-AzSqlDatabaseCopy  -ResourceGroupName prdResource -ServerName prdServer -DatabaseName prodDb -CopyDatabaseName demoDb

Наконец, мы устанавливаем уровень обслуживания для demoDb:

Set-AzSqlDatabase      -ResourceGroupName prdResource -ServerName prdServer -DatabaseName demoDb -Edition "Standard" -RequestedServiceObjectiveName "S4"

Все это прекрасно работает, и демонстрационная база данных создается правильно с соответствующим уровнем обслуживания. Проблема заключается в том, что наше веб-приложение Azure Prod, подключенное к базе данных Prod, борется с проблемами производительности. Вызовы, которые раньше занимали ~ 2 секунды непосредственно перед копированием дБ, теперь занимают более 30 секунд. Мы обнаружили, что перезапускаем веб-приложение, которое устраняет проблему.

Просто интересно, почему команда copy db влияет на нашу производительность в веб-приложении? Есть ли другие настройки, которые мы должны использовать с командой copy? Мы запустили этот процесс несколько раз и каждый раз сталкивались с одними и теми же проблемами с производительностью.

Насколько мы понимаем, этот процесс не должен иметь каких-либо негативных побочных эффектов на prod db, это правильное предположение? Любые другие способы решения проблемы без перезапуска webApp?

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

DTU, похоже, не является проблемой, так как они не превышают 20%. У нас есть развертывание DevOps, которое выполняет все задачи и запланировано на каждый субботу в 1:00. Вот снимок экрана DTU для этой базы данных за этот период:

Prod DB DTU

Кроме того, DB и WebApp находятся в восточном регионе США, так чтотакже не должно быть проблемой.

Снова, перезапуск веб-приложения устраняет проблему, так что указывает на то, что это не проблема DB / DTU.

0 голосов
/ 30 октября 2019

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

Эти два изменения привели к значительному увеличению производительности.

Также вы можете сослаться на это статья для решения проблем производительности базы данных SQL Azure с помощью Intelligent Insights.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...