Ответ 1
У меня была такая же проблема. Для меня я видел много ошибок WinCache в моих журналах.
Всякий раз, когда сайт терпит неудачу, в журнале будет много ошибок WinCache. WinCache - это то, как IIS обрабатывает PHP, чтобы попытаться ускорить обработку. Это встроенное надстройка Microsoft, включенная по умолчанию в IIS и во всех сайтах Azure. WinCache будет зависеть и вместо того, чтобы перерабатывать и продолжать, он будет потреблять все файлы памяти и файлов на экземпляре, по сути, блокируя его.
Я добавил новое приложение в Azure Portal для сканирования папки для изменений настроек php.ini.
d:\home\site\ini
Добавлен файл в d:\home\site\ini\settings.ini который содержит следующие
wincache.fcenabled=1
session.save_handler = files
memory_limit = 256M
wincache.chkinterval=5
wincache.ucachesize=200
wincache.scachesize=64
wincache.enablecli=1
wincache.ocenabled=0
Это делает несколько вещей:
wincache.fcenabled=1
Включает кэширование файлов с использованием WinCache (я думаю, что по умолчанию все равно)
session.save_handler = files
Изменяет обработчик сеанса из WinCache (по умолчанию Azure) на стандартный файл, основанный на снижении нагрузки на кеш-память.
memory_limit = 256M
wincache.chkinterval=5
wincache.ucachesize=200
wincache.scachesize=64
wincache.enablecli=1
Устанавливает размер WinCache до 256 мегабайт на поток и ограничивает общий размер кеша. Это заставляет WinCache очищать старые данные и чаще использовать кэширование.
wincache.ocenabled=0
Это большой. ОТКЛЮЧИТЬ кеширование операционного кода WinCache. Это WinCache, кэширующий реальные скрипты PHP в память. Файлы по-прежнему кэшируются из первой, но PHP интерпретируется как нормальный и не кэшируется в большие двоичные файлы.
Из-за того, что каждый раз, когда я работаю с 3-мя днями, я столкнулся с авариями на сайте Azure, которые выглядят как ваши до 120 дней подряд без каких-либо проблем.
Удачи!