_银子

提供更专注、更专心、更专业的服务
  首页  :: 联系 :: 订阅 订阅  :: 管理

修改SDE最大连接数

Posted on 2012-06-27 10:32  _银子  阅读(1512)  评论(0编辑  收藏  举报

A--最大连接数修改

一、设置CONNECTIONS参数

设置CONNECTIONS参数为你的最大连接数。默认为48,可以修改为200

二、修改SharedSection参数值

在Windows 操作系统上,ArcSDE 服务作为一个“非交互式桌面程序”运行,而windows的一个称作SharedSection的初始化参数限定了为“非交互式桌面程序”分配的最大堆栈内存,我们可以通过windows注册表修改该值。

点击“开始”->“运行”->”regedit”,打开注册表:找到以下路径:
[url=file://\\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session]\\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session[/url] Manager\ SubSystems\Windows

这个字符串示例如下:

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

这个字符串包含了windows的初始化参数。在该字符串中,我们可以找到SharedSection参数,默认值是1024,3072,512。 第三个值(512Kb)就是为“非交互式桌面程序”分配的最大堆栈内存。 在这个数值(512Kb)下,ArcSDE能够接受的最大连接数大约为56个。增加该数值到2M就能够使ArcSDE支持的最大连接数达到270个。即此 时的设置为:1024,3072,2048


对于Windows来说,所有的堆栈内存(非交互式桌面和交互式桌面)总和是48Mb,因此,我们在调整SharedSection参数的时候需要仔细。

B--杀死超时连接

 

一、设置TCPKEEPALIVE参数为TRUE

方法一:用PLSQL或TOAD打开SDE用户下的表SEVER_CONFIG,编辑字段CONNECTIONS值为你的最大连接数。设置字段TCPKEEPALIVE值为TRUE。
方法二:打开SDE的安装目录下的(一般安装路径为C:\arcgis\ArcSDE\sqlexe\etc)giomgr.defs文件进行编辑,设置 CONNECTIONS参数为你的最大连接数。然后设置TCPKEEPALIVE参数为TRUE。 通过命令导入到数据库中:sdeconfig –o import –f C:\arcgis\ArcSDE\sqlexe\etc\giomgr.defs –i esri_sde(数据库实例名) –s (ServerName) –u sde(用户名) –p sde(密码) 。 设置好后需要重启SDE服务才能生效。

二、设置KeepAliveTime参数值
在 Microsoft Windows 设置 KeepAliveTime 为 300000.
\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\KeepAliveTime
If the如果这个注册表键值不存在,则要自己创建这个值.
同进这个时间指的是毫秒.

其中当线程资料超过corePoolSize的值时,则线程时间超过KeepAliveTime的则自动断开,KeepAliveTime=300000。

当TCPKEEPALIVE参数设置为TRUE后,数据库会根据SDE服务所在机器的注册表项KEEPALIVETIME所提供的响应时间, 不断侦测所有连接是否为无效连接,如果为无效连接,则自动删除该连接。 对默认安装操作系统的机器而言KEEPALIVETIME注册表项是没有的。 如果没有话,服务器不会主动发送 KeepAlive 数据包来确认空闲连接是否依然毫无变化。也就不会进行删除操作。 所以上面提到的无效连接会越来越多。可以在如下路径中:Local_Machine\system\CurrentControlSet \Services\Tcpip\Parameters 添加DWORD项:KeepAliveTime。 如果不设置值的话默认为两小时。具体时间可以看情况而定。一般推荐为5分钟。然后重启机器(一定要重启,注册表的新加项才生效)。世界从此清静了, 以后超出最大连接数的错误再也不会烦扰你的头皮。

C--ArcSDE常用命令之sdemon

sdemon -o status
作用:查看sde连接状态,快速查看有几个连接
sdemon -o info -I users
作用:查看sde连接状态,查看连接的用户明细(用户名、操作系统、连接开始时间)
sdemon -o kill -t 146 -p sde
作用:可以利用该命令直接使某个用户断开连接,需要提供断开用户的S-ID(可以通过上一个命令查看),需要提供sde用户密码
sdemon -o kill -t all -s 127.0.0.1 -i 5151 -p sde
作用:可以利用该命令直接使所有用户断开连接
sdemon -o info -I instances
作用:查看sde的实例个数和名称
sdemon -o info -I stats
作用:查看sde连接的S-ID、读、写、Buffers等值的统计
sdemon -o info -I locks
作用:查看sde用户所占用的表,表后面的数字为sde库里面table_registry表对应的注册ID
sdemon -o info -I config
作用:查看SDE版本号、数据库名称、最大连接数、SDE的安装的根路径、最大最小缓冲值大小、sde实例名、sde端口号等相关的设置参数。其他某些参数其实就是giomgr.defs文件的内容。
sdemon -o info -I vars
作用:查看操作系统类型、操作系统环境变量、数据库实例名、系统盘符、SDE安装目录等信息。
sdemon -o start
sdemon -o shutdown
sdemon -o pause
sdemon -o resume
作用:利用该命令对sde服务进行开始、暂停、继续、关闭等管理,需要提供sde用户的密码,在非windows操作系统经常需要sdemon -o start -p sde启动服务

 

update server_config set NUM_PROP_VALUE = 100000000 where prop_name='BLOBMEM';