yakcy 发表于 2010-12-04 00:41

【急救】Win 2003 Enterprise Edition SP2+Sybase ASE12.5如何做到性能最优化配置

【急救】Win 2003 Enterprise Edition SP2+Sybase ASE12.5如何做到性能最优化配置:

硬件环境:
机型:IBM X3650M3 7945I45
配置:CPU类型:Xeon E5640 2660MHz处理器描:标配1个Xeon E5640处最大处理:2 内存大小:8GB DDR3

软件环境:Win 2003 Enterprise Edition SP2+Sybase ASE12.5

                           如何在2003上面配置大于1024MB的内存?

1、在boot.ini中增加/3GB选项,重起操作系统;

    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise"/noexecute=optout /fastdetect /PAE /3GB?????(这怎么样改的?)


2、sp_configure 'shared memory starting address', 23662592               (8G物理内存时,此参数设置多少合适?????)




其他参数配置,以下合不合适???????是不是最优化的配置?????????????


一. SYBASE 系统参数调整
1.内存
sp_configure "max memory",????? --重启生效(设置为共享内存的75%)
sp_configure "allocate max shared mem",1 --启动的时候自动分配max memory指定的最大内存
sp_cacheconfig "default data cache","?????m" --设置数据缓存(设置为max memory的一半)
sp_cacheconfig "default data cache","cache_partition=2" --是CPU数量的倍数,对数据缓冲区分区
sp_poolconfig "default data cache","64m","16k" --设置16K 数据缓存
sp_poolconfig "default data cache","128m","8k" --设置8K 数据缓存
sp_configure "procedure cache size",90000 --存储过程数据缓存
sp_cacheconfig 'tempdb_cache','200m','mixed' --创建命名高速缓存
sp_bindcache 'tempdb_cache',tempdb --捆绑临时数据库到tempdb_cache高速缓存

2.cpu
sp_configure "max online engines",7 --设置使用的CPU数量
sp_configure "number of engines at startup",7 --启动时使用CPU数量

3. 网络
sp_configure "default network packet size",2048 --设置网络传送包的大小(重启动生效)
sp_configure "max network packet size",2048

4. 其他资源使用
sp_configure "number of locks",100000 --锁使用数量
sp_configure "number of open indexes",50000 --打开索引
sp_configure "number of open objects",50000 --打开对象
sp_configure "number of user connections",1000 --用户连接数
sp_configure "number of device",100 --新建设备最大数量


二. sybase 设备调整

数据设备与日志设备必须分开,添加临时数据库设备

1. 数据设备
sp_deviceattr devname,"dsync",true
2. 日志设备
sp_deviceattr devname,"dsync",false
3. 临时数据库设备
sp_deviceattr devname,"dsync",false




以上配置是不是最优化????最合理的??????请高手明示!不胜感激!!!!!!

yakcy 发表于 2010-12-05 21:45

参考以下做法是否可行?



关于sybase的配置-(数据库慢的请留意)

说明:数据库性能慢的主要原因有两个
       1)数据库服务配置不合理
       2)应用程序不合理
       遇到数据库性能下降时通常先检查数据库服务配置方面有没有可以改善的,修改之后再观察一段时间,如果性能没有改善的话就要分析应用程序上有没有可以调整的地方:索引是否合理,sql语句是否优化等。
      
本篇主要分析数据库服务的配置:

问题分析:
小型机硬件:rp2470双机、CPU700M*2、内存512M*6
以下是现场发过来的主要配置情况:
lock scheme               datapages//datapages锁模式是性能最差的锁,一般不用
number of locks                300000//通常不需要配置太多的锁10万就够了
max memory                     500000//物理内存3G,配给sybase的为1G明显不合理
number of open indexes         4000//通常2000         
number of open objects         4000//通常2000
number of user connections      300//
number of worker processes          0//多cpu要打开相应工作进程数
procedure cache size         154800//存储过程缓存不要超过100M
total data cache size          453699//明显该值太小
allocate max shared memory          0//打开sybase占用内存的开关
max online engines                  2         
number of engines at startup      2            

问题处理:
建议先调整以下配置
sp_configure "max memory",1150000            //sybase占用2.3G内存
sp_configure "allocate max shared memory",1
sp_configure "user log cache size",4096      //用户日志缓存用来缓存客户段信息
sp_configure "procedure cache size",50000      //100M存储过程缓存
sp_configure "number of worker processes",2

备份sybase主目录下的***.cfg

sp_cacheconfig "default data cache","1G"       //配置缺省数据缓存1G
sp_cacheconfig "default data cache", "cache_partition = 2"
reboot sybase服务

备份sybase主目录下的***.cfg

sp_cacheconfig "tempdb_cache","400M"   //由于内存较充裕,通常会分配一部分内存给tempdb,提高查询的速度
sp_bindcache "tempdb_cache","tempdb"   //绑定400M的内存给tempdb
reboot sybase服务

上述操作如无法启动sybase服务则可以将备份的***.cfg替换当前的配置文件,重新boot sybase服务

总结:
sybase 11.9.2 & 12.0 & 早期版本的配置通常为以下几项:
total memory                   //定义sybase 服务能够使用的物理内存
number of lock               //定义锁的数目
number of open database      //打开的数据库个数,缺省是12个,数据库数目超过12个时要调整该值
number of devices            //数据库的设备数,缺省是10,通常是不够的,需要调整
number of user connections   //用户连接数,根据需要设置,通常一个用户数消耗100K的内存
这个版本的数据库缓存、日志缓存、过程缓存是不用手工配置的

sybase 12.5版本的配置通常为以下几项:
lock scheme                  //锁模式,sybase推荐使用缺省(allpages),但是一些并发操作多的表(temp_telebill)要使用行锁(datarows),减少被锁现象
number of locks            //通常不需要配置太多的锁10万就够了
max memory                   //sybase服务能够使用的物理内存,通常配置成物理内存的70%~80%,上例内存是3G,配给sybase的为1G明显不合理
allocate max shared memory   //打开sybase占用内存的开关
number of open indexes       //通常2000,该值配置过低时会在日志中报该值不够,最终导致性能缓慢         
number of open objects       //通常2000,该值配置过低时会在日志中报该值不够,最终导致性能缓慢
number of user connections   //用户连接数,根据实际需求来配置,盲目多配会浪费内存
procedure cache size         //存储过程缓存不要超过100M,用来缓存过程的编译代码。
number of open database      //打开的数据库个数,缺省是12个,数据库数目超过12个时要调整该值
number of devices            //数据库的设备数,缺省是10,通常是不够的,需要调整
user log cache size          //日志缓存用来保留客户端连接信息的,每个连接都会生成一个user log cache size大小的cache,该值缺省为2K,主机内存充裕时可以配成4K。

在12.5及以后的版本中都要手工的配置default data cache,缺省为8M,几乎所有的用户操作都是在这个缓存中进行的,如果不优化的话严重影响数据库性能。
优化的方法是把尽可能多的内存配置给default data cache ,即:’max memory’-'所有其他内存消耗(用户数,锁数等)’-‘少许预留内存’=default data cache。
sp_cacheconfig "default data cache","1G"       //配置缺省数据缓存1G
sp_cacheconfig "default data cache", "cache_partition = 2"

关于cpu的配置
max online engines            //sybase 使用的cpu的个数      
number of engines at startup//激活cpu的个数
number of worker processes   //多cpu要打开相应工作进程数














我的配置是这样的是否最优化?(注:IBM X3650M3 是四核8线程(就是8个引擎、8个CPU);内存8G)

--#############################################################################################

sp_configure "allocate max shared memory",1   //打开sybase占用内存的开关

sp_configure "max online engines",8                   //CPU是四核8线程(就是8个引擎、8个CPU);

sp_configure "number of engines at startup",8    //因为服务器上只跑SYBASE数据库,没有其他应用/服务      

sp_configure "max memory",1150000            //sybase占用2.3G内存;SYBASE ASE 12.5.03最大只能认2.5G,就只能设置2.3G,8G的总内存太浪费了!

sp_configure "allocate max shared memory",1

sp_configure "user log cache size",4096      //用户日志缓存用来缓存客户段信息

sp_configure "procedure cache size",50000      //100M存储过程缓存

sp_configure "number of worker processes",8//服务器的8个工作线程全部启用!

备份sybase主目录下的***.cfg

sp_cacheconfig "default data cache","1G"//配置缺省数据缓存1G (SYBASE ASE 12.5.03最大只能认2.5G,就只能设置1G缺省数据缓存)

sp_cacheconfig "default data cache", "cache_partition = 2"

reboot sybase服务

备份sybase主目录下的***.cfg

sp_cacheconfig "tempdb_cache","500M"   //由于内存较充裕,通常会分配一部分内存给tempdb,提高查询的速度
sp_bindcache "tempdb_cache","tempdb"   //绑定500M的内存给tempdb

reboot sybase服务

上述操作如无法启动sybase服务则可以将备份的***.cfg替换当前的配置文件,重新boot sybase服务

--#############################################################################################


请问各仁SYBASE高手,我以上的设置是否合理、是否最优化呢?请指教??????????????????????

yakcy 发表于 2010-12-06 01:17

本帖最后由 yakcy 于 2010-12-06 01:18 编辑

自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!自已顶!

按上述的方法进行SYBASE参数优化设置,结果比较有效和满意!!!!!!!!!

参数优化前,原来日结数据处理(存储)过程要近2个半小时;

而按上述方法优化后,数据处理(存储)过程用时为1小时左右,快了近1个半小时!

说明起码按上述办法是比原来的优化了!至于是否已经是最优化了!还请各位高手指教!!!!!!:emn23:

li_lsl 发表于 2010-12-31 14:16

差不多了,我一般也是就调整这么多
页: [1]
查看完整版本: 【急救】Win 2003 Enterprise Edition SP2+Sybase ASE12.5如何做到性能最优化配置