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
LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...
官方网站:https://www.shuhost.com/公司名:LucidaCloud Limited尊敬的新老客户:艰难的2021年即将结束,年终辞旧迎新之际,我们准备了持续优惠、及首月优惠,为中小企业及个人客户降低IT业务成本。我们将持续努力提供给客户更好的品质与服务,在新的一年期待与您有美好的合作。# 下列价钱首月八折优惠码: 20211280OFF (每客户限用1次) * 自助购买可复制...
2021年各大云服务商竞争尤为激烈,因为云服务商家的竞争我们可以选择更加便宜的VPS或云服务器,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜VPS或便宜云服务器,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。下面,请跟云服务器网(yuntue.com)小编来看一下2021年国内/国...