Перейти к содержимому

Автоматический разогрев веб-приложения после доставки

Любая доставка веб приложения, хостящегося в IIS и основанного на ASP., как правило, ведёт к рестарту процесса, обслуживающего сайт, что, в свою очередь, разрушительно сказывается на кэшах приложения. С тем, чтобы оптимизировать данную проблему, мои коллеги разработали приложение, которое автоматически узнает у Analytics наиболее посещаемые страницы и пробегает по ним

Приложение, реализованное как исполняемый файл, основано на идее и описании реализации, опубликованной в этом посте - https://axiacore.com/blog/how-get-list-most-popular-pages-google-analytics-python/.

В качестве входных параметров, приложение принимает:

  • сервисный емейл адрес (требуемый параметр)
  • приватный ключ (требуемый параметр)
  • прямой хостнейм (или айпи) сервера. Если данный параметр имеет не пустое значение, то веб запрос будет генерироваться к этому серверу напрямую, а хостнейм сайта будет передан в хидере Host запроса. Это решение позволяет разогревать кеши на каждом сервере
  • набор идентификационных номеров профилей, для выборки из тех, к которым сервисный аккаунт имеет доступ. Если параметр пустой, то будем выбирать наиболее посещаемые страницы для всех профилей
  • Тип метрики, по которому оценивается частота посещений. Значение по умолчанию - "ga:entrances". Все возможные метрики описаны тут - https://developers.google.com/analytics/devguides/reporting/core/dimsmets
  • количесто дней для выборки, значение по умолчанию - 7
  • Максимальное количество результатов, значение по умолчанию - 30

После получения данных от Гугл Аналитики, приложение запросит каждую страницу с сервера, обеспечивая её кеширование.

Создание сервисного аккаунта подробно описано тут - https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount. После создание, владелец аккаунта Гугл аналитики должен предоставить доступ к нужным профилям этому сервисному емейлу.