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 实例时,也可能遭遇这个问题。当Googlebot(crawl-66-249-71-66.googlebot.com)尝试索引Rest服务目录时,它会发起过多的web service 请求。停止google索引这个站点,或应用下面提供的解决方案。
1 个回复
马克玲
赞同来自:
ArcGIS Server .NET的 web 应用和服务,必须以Agsusers和/或Agsadmin用户组中的账户运行。默认情况下, 这会在aspnet 工作进程处理时,通过配置web service或应用以模拟指定标识来完成。
负责处理 Internet service请求的ArcGIS Server组件,例如http://myArcGISServer/arcgis/services 和http://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:
...
...
注意:如果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服务,选择“重启”;
关闭服务窗口。
要回复问题请先登录或注册