ArcGIS Server服务器负载过重,不定期出现服务器卡死

ArcGIS Server .NET Web 应用和Internet服务在重负载下(每秒超过25个并发请求),本地安全授权子系统服务(lsass.exe)系统进程就变得负担过重。这会引起系统性能降低,在极端情况下,比如重负载持续12小时或更长时间,可能导致计算机关闭。
暴露一个带有安全服务的公共ArcGIS Server 实例时,也可能遭遇这个问题。当Googlebot(crawl-66-249-71-66.googlebot.com)尝试索引Rest服务目录时,它会发起过多的web service 请求。停止google索引这个站点,或应用下面提供的解决方案。
已邀请:

马克玲

赞同来自:

【问题分析】:
ArcGIS Server .NET的 web 应用和服务,必须以Agsusers和/或Agsadmin用户组中的账户运行。默认情况下, 这会在aspnet 工作进程处理时,通过配置web service或应用以模拟指定标识来完成。
负责处理 Internet service请求的ArcGIS Server组件,例如http://myArcGISServer/arcgis/serviceshttp://myArcGISServer/arcgis/rest 它们本身是web services。 默认,这些组件模拟ArcGIS Web services账户。
每次web service或应用都会使用模拟处理一个请求,潜在的ASP.NET工作进程一定是使用lsass.exe来授权。在正常负载的情况下,这种授权操作影响不大。
当 web service或应用长时间在重负载(每秒超过25个并发连接)的情况下模拟时,每个请求的授权操作就开始严重影响内存和lsass.exe进程的处理脚本。
【解决办法】:
通过修改aspnet 工作进程和重负载下的web services或应用的配置可以减少lsass.exe进程的负载。
下面的步骤描述了如何配置ArcGIS Web Services(SOAP和REST),以ArcGIS Web Service用户身份运行在单独的IIS应用程序池,以及如何禁用每一个请求模拟。
下面的说明假设ArcGIS Web services账户被称作ArcGISWebServices( 默认是在ArcGIS Server post installation过程中指定)。配置过程中修改这个账户名为真实的ArcGIS Web Services 账户名。
1、创建一个新的IIS应用程序池,并且设置它的标识为ArcGIS Web services 账户;
    打开IIS控制台,并且导航到“应用程序池”;
    右击“应用程序池”,单击“新建应用程序池”;
     为应用程序池设置ID,例如ArcGIS Server Services Application Pool,然后选择缺省配置;
    右击新应用程序池,单击“属性”;
    单击标识标签,选择“配置”;
    输入ArcGIS Server Post installation 过程中指定的ArcGIS Web services账户的名称和密码。单击OK;
    再次输入密码,然后单击OK.
2、为C:WindowsTemp目录授予ArcGIS Web services账户的适当访问权限;
    打开Windows资源管理器,导航到C:WindowsTemp目录;
    右击C:WindowsTemp,选择属性;
    在属性对话框中,单击安全标签;
    在安全对话框中,单击添加按钮,打开选择用户对话框;
    在选择用户对话框中,改变“从当前位置”,如果有必要,定位到ArcGIS Web Services账户,并且在下面的输入框中键入账户(或者使用高级按钮浏览它)。单击OK,返回到属性对话框。
    在属性对话框中,确保ArcGIS Web services用户是高亮的,在下面的权限列表中,选择修改权限。
    单击确定保存和关闭属性对话框。关闭Windows资源管理器。
3、    配置ArcGIS SOAP web services不使用impersonation;
    使用Visual Studio或者文本编辑器,打开C:InetpubwwwrootArcGISServices(ArcGIS 服务目录也可能安装在不同的位置) 目录下的web.config 文件。
    在web.config 文件中,改变Imersonate 键的值为false:

   
   
   

注意:如果Impersonate键不存在,那么参照上面示例手动添加。
    保存web.config文件;
4、    配置ArcGIS Rest web servcies不使用impersonation;
    使用Visual Studio或者文本编辑器,打开C:InetpubwwwrootArcGISREST(ArcGIS REST目录也可能安装在不同的位置) 目录下的rest.config 文件。
    在rest.config 文件中,改变Imersonate 键的值为false:

http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema>
...
...
false

注意:如果Impersonate键不存在,那么参照上面示例手动添加。
    保存rest.config文件;
5、添加ArcGIS Web services(SOAP和REST)到新的应用程序池;
a) 从控制面板 > 管理工具打开IIS控制台;
b) 展开本地计算机节点,网站节点,默认站点节点,ArcGIS节点;
c) 在ArcGIS节点,右击services并选择属性。打开services属性对话框;
d) 在虚拟目录标签页,选择“应用程序池”下拉列表,并选择在步骤1中创建的应用程序池;
e) 单击OK,保存并关闭属性对话框;
f )  重复步骤c)到e),为Rest目录切换应用程序池;
g)  关闭IIS控制台。
6、重启ArcGIS Server Object Manager(SOM)服务。
    从控制面板 > 管理工具打开服务面板;
    右击ArcGIS Server Object Manager服务,选择“重启”;
    关闭服务窗口。

要回复问题请先登录注册