Azure LocalCache 未在 ASE 上设置就绪环境变量
Azure LocalCache not setting the Ready environment variable on ASE
我已将我的 WebApp 移至 Azure 应用服务环境并启用了新的 LocalCache 选项,如 https://azure.microsoft.com/en-us/documentation/articles/app-service-local-cache/
中所述
但是,应该告诉您缓存已准备就绪的环境变量并不存在。
如果我使用 Kudo 并转到 Process Explorer,单击 w3wp(没有 scm 标签)进程的属性,然后单击环境变量,我看到的唯一变量是:
WEBSITE_LOCAL_CACHE_OPTION Always
APPSETTING_WEBSITE_LOCAL_CACHE_OPTION Always
WEBSITE_LOCAL_CACHE_SIZEINMB 1000
APPSETTING_WEBSITE_LOCAL_CACHE_SIZEINMB 1000
WEBSITE_LOCALCACHE_ENABLED True
但不是我需要的:
WEBSITE_LOCALCACHE_READY
我对正在发生的事情一头雾水;谁能给我一些想法让我试试?
本地缓存是一项当前未在应用服务环境中启用的功能。
这里的正确答案是:
如您引用的文档所述:
如何判断我的网站是否已切换到使用本地缓存?
如果您在暂存环境中使用本地缓存功能,则在本地缓存预热之前交换操作不会完成。要检查您的站点是否针对本地缓存 运行,您可以检查工作进程环境变量 WEBSITE_LOCALCACHE_READY
。使用工作进程环境变量页面上的说明在多个实例上访问工作进程环境变量。
您说:
如果我使用 Kudo 并转到 Process Explorer,单击 w3wp(没有 scm 标签)进程的属性,然后单击环境变量,我看到的唯一变量是:
WEBSITE_LOCAL_CACHE_OPTION Always
APPSETTING_WEBSITE_LOCAL_CACHE_OPTION Always
WEBSITE_LOCAL_CACHE_SIZEINMB 1000
APPSETTING_WEBSITE_LOCAL_CACHE_SIZEINMB 1000
WEBSITE_LOCALCACHE_ENABLED True
这个环境变量 WEBSITE_LOCALCACHE_READY
是“工作进程”的一部分,而不是主机进程 w3wp.exe
您需要获取工作进程的内存转储,如下所述:
https://github.com/projectkudu/kudu/wiki/Process-Threads-list-and-minidump-gcdump-diagsession#process-environment-variable
开始于:
GET /api/processes/0 => scm站点w3wp.exe的详细进程信息。
或者对主站点使用 -1。
https://(kudu-site).scm.azurewebsites.net/api/processes/0
(显示 w3wp.exe 过程)
“主站点”是工作进程。
https://(kudu-site).scm.azurewebsites.net/api/processes/-1
这显示了一个完整的进程转储,在内容中您将看到您的变量:
“WEBSITE_LOCALCACHE_ENABLED”:“真”,“WEBSITE_LOCALCACHE_READY”:“真”
我在 ASEv2 中也有这个 运行,所以我认为 cory-fowler 之前关于 ASE 不支持它的评论是不正确的。可能是他写的时候写的,目前支持
我已将我的 WebApp 移至 Azure 应用服务环境并启用了新的 LocalCache 选项,如 https://azure.microsoft.com/en-us/documentation/articles/app-service-local-cache/
中所述但是,应该告诉您缓存已准备就绪的环境变量并不存在。
如果我使用 Kudo 并转到 Process Explorer,单击 w3wp(没有 scm 标签)进程的属性,然后单击环境变量,我看到的唯一变量是:
WEBSITE_LOCAL_CACHE_OPTION Always
APPSETTING_WEBSITE_LOCAL_CACHE_OPTION Always
WEBSITE_LOCAL_CACHE_SIZEINMB 1000
APPSETTING_WEBSITE_LOCAL_CACHE_SIZEINMB 1000
WEBSITE_LOCALCACHE_ENABLED True
但不是我需要的:
WEBSITE_LOCALCACHE_READY
我对正在发生的事情一头雾水;谁能给我一些想法让我试试?
本地缓存是一项当前未在应用服务环境中启用的功能。
这里的正确答案是:
如您引用的文档所述:
如何判断我的网站是否已切换到使用本地缓存?
如果您在暂存环境中使用本地缓存功能,则在本地缓存预热之前交换操作不会完成。要检查您的站点是否针对本地缓存 运行,您可以检查工作进程环境变量 WEBSITE_LOCALCACHE_READY
。使用工作进程环境变量页面上的说明在多个实例上访问工作进程环境变量。
您说: 如果我使用 Kudo 并转到 Process Explorer,单击 w3wp(没有 scm 标签)进程的属性,然后单击环境变量,我看到的唯一变量是:
WEBSITE_LOCAL_CACHE_OPTION Always
APPSETTING_WEBSITE_LOCAL_CACHE_OPTION Always
WEBSITE_LOCAL_CACHE_SIZEINMB 1000
APPSETTING_WEBSITE_LOCAL_CACHE_SIZEINMB 1000
WEBSITE_LOCALCACHE_ENABLED True
这个环境变量 WEBSITE_LOCALCACHE_READY
是“工作进程”的一部分,而不是主机进程 w3wp.exe
您需要获取工作进程的内存转储,如下所述: https://github.com/projectkudu/kudu/wiki/Process-Threads-list-and-minidump-gcdump-diagsession#process-environment-variable
开始于:
GET /api/processes/0 => scm站点w3wp.exe的详细进程信息。 或者对主站点使用 -1。 https://(kudu-site).scm.azurewebsites.net/api/processes/0 (显示 w3wp.exe 过程)
“主站点”是工作进程。 https://(kudu-site).scm.azurewebsites.net/api/processes/-1
这显示了一个完整的进程转储,在内容中您将看到您的变量: “WEBSITE_LOCALCACHE_ENABLED”:“真”,“WEBSITE_LOCALCACHE_READY”:“真”
我在 ASEv2 中也有这个 运行,所以我认为 cory-fowler 之前关于 ASE 不支持它的评论是不正确的。可能是他写的时候写的,目前支持