sybase系统配置祥解_第1页
sybase系统配置祥解_第2页
sybase系统配置祥解_第3页
sybase系统配置祥解_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Sybase安装及系统管理之上篇RAWDevice(裸分区)VSFilesystemDevice裸分区是指磁盘的一块物理分区,没有用作操作系统,其读写不通过操作系统缓冲。传统的Unix安装ASE推荐使用RAWDevice确保资料的完整性和较好的IO性能。但在新版的Unix和Linux中UFS和JFS在资料完整性和读写性能的差距相较于裸设备已经非常微弱。还有就是裸设备的管理比较复杂。从ASE12.0开始Sybase提供dsync的属性对数据库设备禁止write-cache(写回缓冲)以确保资料的完整性和可恢复性。裸设备的使用出于安全和资料完整性方面的考虑比性能考虑多。AsyncI/O(异步I/O)异步IO是在一个IO动作未完成时同时可进行另外的动作。异步IO对于数据库的IO性能有较大的影响。在AIX和HP中都需要通过重新编译内核来支持。关于内存:首先确定可用的总的物理内存然后减去操作系统,Backup,Monitor等Sybase相关软件的开销即为Sybase总的可用内存。(建议服务器只做单纯的ASE服务器并要删除不必要的服务以减少开销,例如xwindow)在Unix及Linux中需要调整一些核心参数以支持较大的物理内存。以下列出一些可能需要调整的参数: shmmax(最大共享内存段大小,单位为字节),shmall(可用内存的总数量,如果是字节同shmmax一样)。其余的像shmmin等参数请参考操作系统手册。Sybase利用maxmemory确定最大可用内存量,具体内存的分配方式取决于以下两个参数allocatemaxsharedmemory和dynamicallocationondemandAllocatemaxsharedmemory指定是否分配由maxmemory指定的最大内存,缺省不分配最大内存。Dynamicallocationondemand指定是否在请求时立即分配资源还是仅需要时分配,缺省是需要时分配。例如配置了用户连接数量只在用户连接到Sybase时才分配内存。参数设定:(分组并只对常用参数进行说明)PhysicalMemory:allocatemaxsharedmemory(指定是否分配由maxmemory指定的最大内存,缺省不分配最大内存)dynamicallocationondemand(指定是否在请求时立即分配资源还是仅需要时分配,缺省是需要时分配)maxmemory(确定Sybase最大可用内存)totallogicalmemory(当前配置的逻辑内存,只读)totalphysicalmemory(当前配置的物理内存,只读)DiskI/O(磁盘IO)allowsqlserverasynci/o(允许SQLServer进行异步IO,此参数对于设备的IO性能有极大影响,需要操作系统支持)diski/ostructures(磁盘IO结构,启动时分配磁盘IO控制块的数目.。将此值设定为操作系统允许的最大值以避免磁盘IO结构不够用的情况)numberofdevices(Sybase所能使用的最大设备数目)pageutilizationpercent(页利用率)Meta-DataCaches(元资料缓存)numberofopendatabases(可同时打开的数目库数目)numberofopenindexes(可同时使用的索引数目)numberofopenobjects(可同时使用的对象数目)以上三个参数都可用sp_countmetadata来确定当前Sybase中三个参数的大小。调整后可在实际的使用过程中利用sp_sysmon来确定是否设定合理)ParallelQuery(并行查询)numberofworkerprocesses(同时可使用的并行查询的可用的工作进程数目)maxparalleldegree(最大的查询并行程度)maxscanparalleldegree最大的扫描并行程度,一般的磁盘控制器使用2~3个工作进程就可以充分利用其IO)Processors(处理器)maxonlineengines(最大的在线引擎数目,一个引擎可以理解为一个CPU的处理能力,不可大于操作系统可用的cpu个数) 一numberofenginesatstartup(Sybase启动时需要联机的引擎数目)LockManager(锁管理)lockscheme(锁定方案,缺省为allpages,从ASE1192开始提供datarows的锁方案。利用行锁可以大大提升并发性能,但需要更多的锁,并且会有资料页产生较多空页困扰)numberoflocks(可用的锁数目,此参数可能需要在使用过程中进行调整以适用不同的应用环境)printdeadlockinformation(打印死锁信息到日志,如果频繁发生死锁可打开此参数用来确定起因,但此参数会带来额外的开销,在SMP环境更是如此)关于性能优化好的性能同优良的数据库设计及优秀的程序写法关系极大,可以这样说,如果一个数据库没有好的设计及对程序未进行优化的话即使对参数进行调整也不可能有好的性能。在/Sybase_FAQ/ASE/sectionL5.html中有说过客户端应用程序和数据库的物理设计决定了性能的80%。对于系统管理所能够做的就是减少IO,缩短响应时间。在性能优化方面程序员同DBA的工作有时是重叠的,例如,判断索引是否必须,索引类型是否正确。监视数据库的运行判断是否优化!总的来说,性能的提升就是缩短响应时间和提高吞吐量。Sybase的查询优化是基于开销的计算的。索引的使用可以:避免表扫描。点查询中定位包含特定资料的特定资料页。范围查询确定上下限。索引覆盖,完全避免存取数据页。连接时避免排序。建立索引的注意事项:Unique和primarykey可以创建唯一索引,缺省情况下unique创建nonclustered,primarykey创建clustered索引。Allpages表一般都需要创建clustered索引或分区以减少最后一页的争夺。如果需要大量插入,不要将clustered索引建立在单调上升的字段上,如identity。对于dol表,此问题并不严重,但allpages却往往是锁争夺的根源。对allpages表,如有可能不要将clustered索引建立在频繁更新的字段上。使用索引覆盖来进行关键查询和不太频繁的查询。如果索引字段元唯一建立唯一索引,优化程序知道只有一行纪录匹配。索引键尽可能小,如果可能使用最小的数据类型。确保连接字段元数据类型相同,如果连接查询需要转换数据类型就不能使用索引。使用索引尽可能使用前导字段元能够提供良好的性能。锁带来的性能冲突:一个事务等待另外的事务完成并释放锁影响响应时间和吞吐量。事务频繁死锁,累计CPU时间少的事务必须重新再来。并且会严重影响相应时间同吞吐量。改善锁冲突的建议:1.添加索引减少争用。保持事务短小以减少持有锁的时间。避免热点。可通过表分区和clustered索引解决。应用以相同顺序获得所以减少死锁的发生。在使用大量表和更新几个表的事务中应确定一个由所有开发人员共享的锁定顺序。延迟死锁检测,"deadlockcheckingperiod”指定开始检查死锁前进程必须等待的毫秒数。使用应用程序的最低锁定级。只在必要时使用隔离级别2或3。如果仅有几个查询需要级别3则在整个事物中使用holdlock或atisolotion,而不用settransactionisolotionat3。如果绝大部分的查询需要级别3则使用set

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论