Любая доставка веб приложения, хостящегося в iis и основанного на ASP.net, как правило, ведёт к рестарту процесса, обслуживающего сайт, что, в свою очередь, разрушительно сказывается на кэшах приложения. С тем, чтобы оптимизировать данную проблему, мои коллеги разработали приложение, которое автоматически узнает у google 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. После создание, владелец аккаунта Гугл аналитики должен предоставить доступ к нужным профилям этому сервисному емейлу.