sybas e服务器在windo ws2003s erver上优化注意事项
服务器配置
内存4G 处理器CP U 8个如何在32位的操作系统上访问大内存 在32位的操作系统上操作系统能管理的内存为4GB sybase使用的总内存有2G限制那么有什么办法能使运行在windows系统上的sybase使用超过2G的内存呢 windows提供了一种叫4GT(4GTuning)的技术使得sybase使用超过2G(不超过3G)的内存成为可能。
首先介绍NT32位操作系统内存分配情况
在NT操作系统可以管理的4G内存中 0到7fffffff是供应用程序使用的 80000000到FFFFFFFF是保留给操作系统使用的。如果3G开关打开 0到BFFFFFFF提供给应用程序使用 C0000000到FFFFFFFF保留给操作系统。
应用程序使用内存是从0开始的 0到FFF提供给guard page sqlsrvr.exe从400000开始占用内存很多lib文件比如libct、 libsrv被装载在400000的上下那么从400000以上的某个地方起我们边得到一个整块的空间用于应用程序 sybas e默认情况下sharedmemory starting address参数为default时 sybase的total memory从20000000开始使用内存那么从20000000到7FFFFFFF就有1.5G空间如果打开3G参数则是从20000000到BFFFFFFF即2.5G空间。这就是为什么在nt上的sybase的total memory无法配过1.5G的原因所在。
但实时上这1.5或2.5的空间并不能完全由sybase支配系统会在内存顶端也就是从7FFFFFFF开始向下装载一些dll文件因此sybase在shared memory starting address参数为defaul t时可用空间在20000000到某个比7FFFFFFF小的值也就是1.5G左右吧。可见7FFFFFFF一段是个死的限制如果想让sybase使用更多的内存只有打破sharedmemory starting address参数从20000000开始的限制。配置shared memory startingaddress参数的目的就在于此。
配置shared memory starting address参数等于23662592的目的就在于使sybase从地址低于20000000的地方开始使用内存 23662592转换成16进制为1691000 配置这个参数后 sybase可用空间就变为从1691000到7FFFFFFF也就是1.9G如果打开了3G参数则是从1691000到BFFFFFFF也就是2.9G。
那么为什么推荐23662592呢这是sybase公司的经验值如果这个值太低则会引起操作系统在分配内存时的错误 因为空间都被压缩的很小了嘛。shared memory starting address参数表示是一个地址值它指定sybase从什么地方开始使用内存
内存优化
打开操作系统的3G开关
首先修改boot. ini文件在C盘根目录下。加入/3GB参数
[boot loader]timeout=8default=multi (0)disk(0)rdisk(0)partition(1)
[operating systems]multi (0)disk(0)rdisk(0)partition(1)="Microsoft Windo ws 2003 Server” /3GB
/fastdetect
然后重启操作系统使/3G参数生效
1、 假如不配置sp_configure'shared memorystarting address',23662592这条参数sp_configure'max memory',1200000 按4G内存60%配置2.4Gsp_configure'al locate maxshared memory',1 强制为sy base分配max memory内存Sybase无法启动报1068错误 sybas e日志提示内存不能分配因为这时只能访问1.5G内存以内 日志错误如下kerne l NT opera ting syste m error 87 in modul e'e:\ase1253\portt ree\svr\sql\nt386\ksource\blkme m\osmnt mmap.c'at l ine465:参数不正确。kernel os_create_region: Fai ledtogetvirtual memoryinformation.kernel kbcreate:couldn't createserver region 12.kernel kistartup:could notcreateshared memorykernel SQL Server system exception (0xc0000005)generated by a storage accesskernel FATAL:NULL Pss on STACK_OVERFLOW
Windows事件查看器日志错误提示 110057: kistartup:could notcreateshared memory
2、 加上sp_configure'shared memorystarting address',23662592这条参数 sybas e才能正常
启动。
3、关闭操作系统的3G开关加上sp_configure'shared memorystarting address',23662592这条参数 sybas e可以访问 内存在2G以内。
4、因此对于N T32位操作系统syb ase最多只能访问3 G以内内存超过4G以上如8G内存形同虚实实际无法使用大量内存空间浪费
Cpu优化 开启以下功能 cpu个数-1sp_configure 'max online engines' , 7sp_configure 'number of engines at startup' , 7sp_configure 'number of worker processes' ,7
行锁优化numbe r of lock = n *单个用户所需的最大锁数* 120%
一般这个比较难估计 syabs e的资深工程师给的参考值有用户配到180万对于你的1 0G的数据量估计先配 100000
设置监控常用的表数据行锁use psms43goalter table CfgStation lock datarowsgoalter table CfgEquipment lock datarowsgoalter table CfgSignal lock datarowsgoalter table CfgWorkStation lock datarowsgoalter table CfgPort lock datarows
goalter table CfgSamplerUnit lock datarowsgoalter table RunAlarmMsge lock datarowsgoalter table AlarmChange lock datarowsgoalter table ControlQueue lock datarowsgoalter table logrs lock datarowsgo
优化锁提升阈值sp_configure 'page lock promotion HWM' ,500sp_configure 'row lock promotion HWM' ,500
优化索引数据和对象数据number of open objects = 10000number of open indexed = 10000
优化网络
优化网络内存sp_configure 'additional network memory' , 1024
优化网络包大小sp_configure 'max network packet size' , 1024
优化网络传送包的大小sp_configure "default network packet size", 1024
配置日志表syslo gs缓存
将PSMS数据库设为单用户模式 需要断开所有与数据库的连接并且退出服务器上的复制服务器否则无法设置成单用户模式创建一个200M的缓存给日志并绑定到P SMS数据库的日志表syslogs上
/*设置单用户模式*/use mastergosp_dboption psms43, 'single user', truegouse psms43gocheckpointgosp_cacheconfig'syslogs_Ca che', '200M'gosp_bindcache syslogs_Cache,psms43, syslogs
/*关闭单用户模式*/
use mastergosp_dboption psms43, 'single user', falsegouse psms43gocheckpointgosp_configure'user log cache size',4096
配置数据缓存
一般是default data cache=Sybase的maxmemory*50%
配置存储过程缓存
一般是procedure cache size=Sybase的max memory*20-30%sp_configure'procedure cache percent',30
优化优化t empdb数据库
创建tem pdb缓存并绑定到t empdb上为temp db数据库创建数据设备和日志设备并添加到数据库通过S qlAdvantage执行脚本去除tem pdb对主设备m aster的空间占用如下sp_cacheconfig'tempdbcache', '200M'gosp_bindcache'tempdbcache', tempdbgo
USEtempdbgosp_dropsegment 'default', 'tempdb', 'master'gosp_dropseg ment 'syste m', 'tempdb', 'master'gosp_dropsegment ' logsegment', 'tempdb', 'master'
GO
扩展mas ter数据库空间
为热点表创建命名缓存sp_cacheconfig'CfgSignal_Cache', '45M'gosp_bindcache CfgSignal_Cache,psms43,CfgSignalgosp_cacheconfig'CfgStation_Cache', '5M'gosp_bindcache CfgStation_Cache,psms43,CfgStationgosp_cacheconfig'CfgEquipment_Cache', '5M'
gosp_bindcache CfgEquipment_Cache,psms43,CfgEquipmentgosp_cacheconfig'CfgWorkStation_Cache', '2M'gosp_bindcache CfgWorkStation_Cache,psms43,CfgWorkStationgosp_cacheconfig'CfgSamplerUnit_Cache', '5M'gosp_bindcache CfgSamplerUnit_Cache,psms43,CfgSamplerUnitgosp_cacheconfig'RunAlarmMsge_Cache', '25M'gosp_bindcache RunAlarmMsge_Cache,psms43,RunAlarmMsgegosp_cacheconfig'AlarmChange_Cache', '45M'gosp_bindcacheAlarmChange_Cache,psms43,AlarmChangegosp_cacheconfig'ControlQue ue_Cache', '2M'gosp_bindcache ControlQueue_Cache,psms43,ControlQueuegosp_cacheconfig' logrs_Cache', '45M'gosp_bindcache logrs_Cache,psms43, logrsgo
设置psms43数据库选项sp_dboption'psms43', 'abort tran on', 'true'gosp_dboption'psms43', 'select into/bulkcopy/pl lso rt', 'true'gosp_dboption'psms43', 'trunc log on chkpt ', 'true'go
LOCVPS怎么样?LOCVPS是一家成立于2011年的稳定老牌国人商家,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器,所有机房Ping延迟低,国内速度优秀,非常适合建站和远程办公,所有机房Ping延迟低,国内速度优秀,非常适合做站。XEN架构产品的特点是小带宽无限流量、不超售!KVM架构是目前比较流行的虚拟化技术,大带宽,生态发展比较全面!所有大家可以根据自己业务需求...
HostMem近日发布了最新的优惠消息,全场云服务器产品一律75折优惠,美国洛杉矶QuadraNet机房,基于KVM虚拟架构,2核心2G内存240G SSD固态硬盘100Mbps带宽4TB流量,27美元/年,线路方面电信CN2 GT,联通CU移动CM,有需要美国大硬盘VPS云服务器的朋友可以关注一下。HostMem怎么样?HostMem服务器好不好?HostMem值不值得购买?HostMem是一家...
零途云(Lingtuyun.com)新上了香港站群云服务器 – CN2精品线路,香港多ip站群云服务器16IP/5M带宽,4H4G仅220元/月,还有美国200g高防云服务器低至39元/月起。零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新...