Problem: 在Windows 2008 Server,Vista,或7,重负载下lsass.exe在CPU使用和内存利用上增长过快

文章编号 : 37566
软件: ArcGIS Server 9.3.1
操作系统: Windows Vista, 2008Server, Win 7
已邀请:

易智瑞技术支持

赞同来自:

错误信息: 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:\Windows\Temp目录授予ArcGIS Web services账户的适当访问权限;
打开Windows资源管理器,导航到C:\Windows\Temp目录;
右击C:\Windows\Temp,选择属性;
在属性对话框中,单击安全标签;
在安全对话框中,单击添加按钮,打开选择用户对话框;
在选择用户对话框中,改变“从当前位置”,如果有必要,定位到ArcGIS Web Services账户,并且在下面的输入框中键入账户(或者使用高级按钮浏览它)。单击OK,返回到属性对话框。
在属性对话框中,确保ArcGIS Web services用户是高亮的,在下面的权限列表中,选择修改权限。
单击确定保存和关闭属性对话框。关闭Windows资源管理器。
3、 配置ArcGIS SOAP web services不使用impersonation;
使用Visual Studio或者文本编辑器,打开C:\Inetpub\wwwroot\ArcGIS\Services(ArcGIS 服务目录也可能安装在不同的位置) 目录下的web.config 文件。
在web.config 文件中,改变Imersonate 键的值为false:
<appSettings>
<add key="ServiceInfoRefreshTimeInSeconds" value="10" />
<add key="GCInterval" value="10" />
<add key="Impersonate" value="false" />
</appSettings>
注意:如果Impersonate键不存在,那么参照上面示例手动添加。
保存web.config文件;
4、 配置ArcGIS Rest web servcies不使用impersonation;
使用Visual Studio或者文本编辑器,打开C:\Inetpub\wwwroot\ArcGIS\REST(ArcGIS REST目录也可能安装在不同的位置) 目录下的rest.config 文件。
在rest.config 文件中,改变Imersonate 键的值为false:
<?xml version="1.0" encoding="utf-8"?>
<Config xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
...
<Impersonate>false</Impersonate>
</Config>
注意:如果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服务,选择“重启”;
关闭服务窗口。



创建时间:2010-02-08
最近更新:2010-02-08


原文链接
http://support.esrichina.com.cn/2010/0208/569.html

要回复问题请先登录注册