SYBASE内存和缓冲区管理
sybase数据库慢的请留意
sybase数据库慢的请留意数据库系统在当今的信息技术领域中发挥着重要作用,为各种应用程序的数据存储和管理提供支持。
然而,有时候我们可能会遇到Sybase数据库运行缓慢的问题。
本文将讨论一些可能导致Sybase数据库变慢的原因,并提供一些解决方案和优化策略。
一、索引设计不合理索引在数据库中起到加速查询操作的作用。
然而,当索引设计不合理时,可能会导致数据库查询变慢。
比如,过多的索引会增加数据库维护的负担,而过少的索引则会导致查询性能下降。
解决方案:对数据库进行分析,评估每个表的查询模式和频率,并根据这些信息,合理地设计索引。
避免创建过多冗余的索引,以免影响数据库性能。
二、存储空间不足Sybase数据库的存储空间管理对数据库的性能和稳定运行至关重要。
当存储空间不足时,数据库的读写操作会变慢。
此外,如果没有进行定期的空间清理,数据库中存储的日志文件会不断增长,进一步导致数据库性能下降。
解决方案:定期监控数据库的存储空间使用情况,合理规划并扩展存储空间。
同时,设置定期的空间清理任务,删除过期的日志文件等。
三、查询语句不优化编写高效的查询语句是提高数据库性能的关键。
当查询语句没有经过充分优化时,可能会导致数据库响应变慢。
解决方案:对于复杂的查询语句,使用Sybase提供的查询优化工具(如Explain Plan)进行分析,找出影响查询性能的因素,并进行优化。
避免使用不必要的子查询或者多次嵌套的查询操作。
四、硬件性能问题数据库的性能受到硬件的限制。
如果数据库运行在低配置的硬件环境下,可能会导致数据库响应变慢。
解决方案:评估数据库运行所在的硬件环境,确保硬件配置满足数据库的需要。
如果硬件配置有限,可以考虑升级硬件或者将数据库迁移到更高配置的服务器上。
五、数据库统计信息不准确数据库需要根据统计信息来优化查询执行计划。
如果数据库的统计信息不准确或者过期,会导致数据库查询慢。
解决方案:定期更新数据库的统计信息,以提高查询的准确性和效率。
SYBASE系统参数调整
SYBASE系统参数调整1. max memory:此参数用于指定SYBASE数据库服务器在计算机中使用的最大内存量。
通过将此参数设置为较大的值,可以提高该数据库服务器的性能。
如果可用的内存较少,则应适当减小此值。
2. number of engines:此参数用于指定SYBASE数据库服务器使用的引擎数量。
增加此参数的值可以提高并发访问性能。
然而,将该值设置得太高可能会浪费资源。
一般来说,使用与服务器CPU数量相同的值是安全的做法。
3. max scan parallel degree:此参数用于指定SYBASE数据库服务器执行并行扫描时使用的最大并行度。
通过将此参数设置为较大的值,可以提高并行扫描的性能。
4. sys statistics:此参数用于指定数据库服务器在自动生成查询计划时使用的统计信息的有效期限。
适当设置此参数的值可以提高查询性能。
默认情况下,此参数的值设置为30天。
5. max degree of parallelism:此参数用于指定SYBASE数据库服务器在执行并行查询时使用的最大并行度。
增加此参数的值可以提高查询性能。
然而,将该值设置得太高可能会增加系统负载。
6. max worker processes:此参数用于指定SYBASE数据库服务器使用的最大工作进程数量。
适当增加此参数的值可以提高并发性能。
默认情况下,此参数的值设置为255,但在大型服务器上,可能需要适当增加此值。
7. tempdb设备数:tempdb是SYBASE数据库服务器用于处理临时数据的数据库。
将tempdb数据库分配到多个设备上可以提高临时数据处理的性能。
8. prefetch parallel degree:此参数用于指定SYBASE数据库服务器在执行预取操作时使用的并行度。
适当增加此参数的值可以提高查询性能。
9. max rows per stack:此参数用于指定SYBASE数据库服务器在语句执行期间允许的最大行数。
sybase数据库性能调整-电脑资料
sybase数据库性能调整-电脑资料数据库性能调优的一些小方面:1.1 性能指标数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量,。
响应越快,吞吐量越大,数据库性能越好。
响应时间和吞吐量有些情况下不能一起得到改善。
1.2 调优级别对Sybase数据库性能调优,可以从四个方面进行:一) 操作系统级:对网络性能、操作系统参数、硬件性能等作改进。
二) SQL Server级:调整存取方法,改善内存管理和锁管理等。
三) 数据库设计级:采用降范式设计,合理设计索引,分布存放数据等。
四) 应用程序级:采用高效SQL语句,合理安排事务,应用游标,处理锁。
本文对第一、第三、第四方面的内容不做讨论,第二方面提到的概念只适用于Sybase数据库。
1.3 调优工具在分析Sybase数据库的性能时,要用到一些数据库系统本身提供的性能调优工具,包括几个系统存储过程:名称功能简要介绍sp_sysmon 企业级系统性能报告工具sp_lock 查看锁的情况sp_who 查看线程的活动情况sp_procqmode 存储过程的查询处理模式sp_configure 配置SQL Server系统级参数sp_estspace 估计创建一个表需要的空间和时间sp_spaceused 估计表的总行数及表和索引占用的空间sp_monitor 监视CPU、I/O的统计活动情况在利用isql等一些工具时,还可以设置查询会话中的几个选项,来显示SQL语句执行时的各种统计分析结果:指令 On 的含义set noexec on/off 分析SQL语句后,还要执行set statistics io on/off 统计SQL执行所需I/Oset statistics time on/off 统计SQL语句执行耗时set showplan on/off 显示查询计划1.4 sp_sysmon 的使用企业级性能报告工具、系统存储过程 sp_sysmon 的使用方法:在isql 下,首先输入 sp_sysmon 'begin_sample' 启动一个报告采样过一段时间后,再输入sp_sysmon 'end_sample' 结束上次报告采样或者紧跟一参数 sp_sysmon 'end_sample', "dcache" 结束上次报告采样,但只显示数据缓冲(Data Cache Management)这一部分的情况。
sybase基本操作
SYBASE基本操作一、启动数据库1、ps -ef | grep dataserver 查看sybase进程,Sybase有数据库进程和备份进程,若都没看到则需要手动启动,进入sybase安装目录$sybase/ASE-15_0/install启动数据库和备份进程# ./startserver -f RUN_LINUXMZC --启动数据库RUN_”SYBASENAME”#./startserver -f RUN_LINUXMZC_BS --启动备份服务“RUN_backupserve”启动后也可用#showserver查看2、登录数据库数据库启动后使用#isql -Usa -P<password> -S<servername> 登录数据库,注:sybase默认只有一个用户sa,默认密码NULL二、sybase基本操作1、查询数据库版本>select @@version>go注:isql中的命令都需要go来执行,如果发现写错了,可以用reset重新输入2、查询数据库信息>sp_helpdb 显示所有数据库和基本信息3、查寻空间使用情况>use basename>go>sp_spaceused>go4、性能监控使用指令sp_sysmon格式:>sp_sysmon “hh:mm:ss”,model_name,表示监控指定时间指定模块,缺省为所有模块1、内核管理(kernal ) 10、任务管理(taskmgmt)2、应用管理(appmgmt) 11、监视器访问SQL的执行(monaccess)3、数据缓存管理(dcache) 12、并行查询管理(parallel)4、ESP管理(esp) 13、过程缓存管理(pcache)5、索引管理(indexmgmt) 14、恢复管理(recovery)6、锁管理(locks) 15、事务管理(xactmgmt)7、内存管理(memory) 16、磁盘I/O管理(diskio)8、元数据高速缓存管理(mdcache ) 17、工作进程管理(wpm)9、事务概要(xactsum) 18、网络I/O管理(netio)5、日志查看(1)数据库运行日志位置$sybase/ASE-15.0/install/SYBNAME.LOG记录数据库服务启动、关闭、运行、初始化等信息,可以查看error发现异常(2)事务日志每个数据库都对应一个事务日志,创建数据库时使事务日志和数据分离存放在不通设备,这样有利于备份。
操作系统-缓冲区管理
操作系统-缓冲区管理操作系统缓冲区管理在计算机操作系统中,缓冲区管理是一个至关重要的组成部分。
它就像是一个默默工作的协调员,在提高系统性能、优化资源利用方面发挥着不可或缺的作用。
想象一下,你正在进行一场繁忙的文件传输操作。
数据源源不断地从一个地方流向另一个地方,如果没有缓冲区的存在,这个过程可能会变得异常混乱和低效。
缓冲区就像是一个临时的存储区域,它为数据的流动提供了一个缓冲的空间,使得数据的传输更加平稳和有序。
缓冲区管理的主要任务之一是解决设备之间速度不匹配的问题。
比如说,CPU 的处理速度通常要远远快于输入输出设备的速度。
如果没有缓冲区,CPU 可能会因为等待慢速设备而浪费大量的时间,导致整个系统的效率低下。
而缓冲区的存在可以让 CPU 在处理当前数据的同时,输入输出设备在缓冲区中准备后续的数据,从而实现了并行操作,大大提高了系统的性能。
缓冲区的类型多种多样,常见的有单缓冲区、双缓冲区和循环缓冲区。
单缓冲区是最简单的一种形式,只有一个缓冲区用于数据的存储和传输。
当数据被写入缓冲区时,必须等待缓冲区被清空后才能再次写入,这在一定程度上限制了数据传输的效率。
双缓冲区则在单缓冲区的基础上进行了改进,它有两个缓冲区。
一个用于数据的输入,另一个用于数据的输出。
这样,当一个缓冲区正在被使用时,另一个缓冲区可以准备新的数据,从而提高了数据处理的效率。
循环缓冲区则是一种更加灵活和高效的方式。
它将缓冲区看作一个环形的存储空间,当数据到达缓冲区的末尾时,会自动回到开头继续存储。
这种方式可以有效地利用缓冲区的空间,避免了数据的覆盖和丢失。
在缓冲区管理中,还有一个重要的概念是缓冲区的置换策略。
当缓冲区已满,而新的数据需要进入时,就需要选择一个合适的缓冲区中的数据进行置换。
常见的置换策略有先进先出(FIFO)、最近最少使用(LRU)和最不经常使用(LFU)等。
FIFO 策略就像是排队买东西,先进入队列的先处理。
这种策略实现简单,但可能会导致一些刚刚进入缓冲区但还未被使用的数据被置换出去,从而降低了系统的性能。
SYBASE 系统参数调整
sp_configure 'allocate max shared mem',1
go
通常配置为系统内存的60-70%,重起生效。
如SYBASE无法正常启动,请调整SYBASE.cfg文件将max memory参数调小。
b) 上述参数生效后,配置data cache 和 procedure cache:
2. 日志设备
sp_deviceattr devname,"dsync",false
3. 临时数据库设备
sp_deviceattr devname,"dsync",false
三. sybase 数据结构调整
1. 数据库对象表、索引。。
(1)对表新建合理的索引,定期分析表
update statistics tabname (不锁表)
sp_configure “optimization goal”,”allow_oltp”
0 0 0
(请您对文章做出评价)
Sybase的 配置参数
Sybase配置参数 sp_configure 'max online engines',4
go
--配置启动cpu个数
4、锁
sp_configure “number of locks”,100000
5、索引对像
数据库空闲状态下运行:sp_countmetadata “open indexes”
正常运行时运行:sp_monitorconfig “open indexes”
来确定一个最佳值,增加10%左右。
sp_configure “number of worker processes”,8 (并行度*并发连接数*1.5倍)
Sybase数据库优化技术和方法
Sybase数据库优化技术和方法Sybase数据库优化技术和方法Sybase数据库是一种高性能、高可靠性的关系型数据库管理系统,广泛应用于各种数据密集型应用程序中。
然而,随着应用程序的日益复杂和数据量的不断增加,Sybase数据库的性能问题也逐渐突显,影响了应用程序的稳定性和响应速度。
因此,对Sybase数据库进行优化是非常必要的。
本文就Sybase数据库的优化技术和方法进行了介绍。
1.查询优化技术查询优化是Sybase数据库优化的重要方面。
对于大量的查询语句,使用正确的优化技术可以大大提高查询性能。
(1)使用索引索引是数据库优化中最常用的技术之一。
通过在表上建立索引,可以加快查询操作的速度,减少数据库服务器的 I/O 操作。
Sybase数据库支持 B-tree、Hash 和 Bitmap 等多种索引类型。
对于不同的查询需求,选择最合适的索引类型可以提高查询性能。
(2)尽量减少复杂查询语句Sybase数据库支持各种查询语句,但是复杂查询语句会使查询时间大大延长,降低数据库性能。
在设计查询语句时,尽量简化语句结构,减少嵌套子查询,避免过多的计算和连接操作。
(3)优化关联查询关联查询是数据库操作中常见的操作,但是不正确的关联查询操作会导致数据库性能下降。
在进行关联查询时,应根据具体情况选择合适的关联方式,如左联接、右联接、全联接等。
2.数据存储优化技术数据存储也是Sybase数据库优化的重要方面。
对于大量的数据存储需求,使用正确的优化技术可以大大提高存储性能。
(1)选择正确的存储引擎不同的存储引擎有不同的优劣点,应根据具体情况选择合适的存储引擎。
Sybase数据库支持多种存储引擎,如 MyISAM 和InnoDB 等。
(2)使用分区表分区表是Sybase数据库中的一种高效存储技术,可以将数据按照一定规则分散到不同的存储区域中,从而提高数据库的性能和可用性。
在设计表结构时,应尽量使用分区表。
(3)定期清理过期数据过多的历史数据占用了数据库的存储空间,降低了数据库的性能。
SYBASE 配置参数及优化
6
系统介绍部分
SYBASE 数据库内存如何分配?
1. 认识sybase数据库内 认识sybase数 a. 高 缓 b. 储过 c. 关内 参数 d. 共 内 ( 须 ;
适
空间 空间)
7
参数配置部分
SYBASE 数据库内存具体配置
2. SYBASE 数据库 参数 与 务器硬件 关, 内 况, 数据库参数时 ( 4颗4 CPU 16G 内 务器为 ): 赖 务器 CPU 务器硬件 关 。
11
优化参数部分
SYBASE 数据库参数配置
2. 优 工具 sp_helpconfig 说明报告有关配置参数的帮助信息。 语法 sp_helpconfig "configname", ["size"] 参数 configname 是要被查询的配置参数,或者是非唯一参数片段。 size 是内存的大小,指定 B 表示字节,指定 K 表示千字节,指定 M 表示 兆字节,指定 G 表示千兆字节,或者指定 P 表示页。在使用时如果 未指定大小的类型, size 将指定要使用此参数配置的实体的数目;例 如锁或打开的索引的数目等。如果 configname 不是唯一参数名,则 忽略 size。 siot@SYBASEDB ~]# top (u sybase)
4
系统介绍部分
2. 认识sybase数据库 运 认识sybase数 系统进 系统进 ;
5
系统介绍部分
SYBASE 数据库内存如何分配?
1. 系统 内 给sybase数据库;( sybase数 件/etc/sysctl.conf) 件/etc/sysctl.conf)
allocate max shared memory cis connect timeout lock scheme global cache partition number housekeeper free write percent heap memory per user max number network listeners max memory max parallel degree
sybase数据库配置说明
Sybase数据库配置说明一、安装sybase服务器端二、配置服务1、运行server config2、添上要创建的服务名3、选择页大小,柳州目前运行的库大小为8k,老系统中的页大小可能是2k,如果导老系统的数据要根据实际情况设置。
4、设置master设备和库的大小,可以先默认,库建好后,可以修改。
5、设置系统存储过程大小和位置6、设置系统数据库大小和位置7、设置网络地址8、点击“网络地址”――》“增加”,9、在连接信息中输入本级ip地址+’,’+端口号(一般为5000)。
“确定”――》“确定”,返回到10、点击“配置缺省xp server”,添加网络地址,在连接信息中输入本级ip地址+’,’+端口号(一般为5002),确定,返回到11、再点击“继续”,开始创建服务。
此过程速度可能比较慢。
12、配置备份服务点击“创建backup server”,开始创建备份服务。
步骤同创建服务相同,只是在设置网络地址时将端口设置为5001(可以任意设置,只要不与别的端口冲突即可)三、建数据库设备打开sybase central,数据库设备添加数据库设备,柳州目前为80g 的设备,可以按照以上图形设置。
四、建库添加数据库,首先选择“日志”,再选择“数据”。
将创建的log的设备设为日志,其他的设置为数据。
五、导数据1、创建远程服务器,远程服务器的网络名称选择创建的备份服务器。
2、创建段,操作如下图所示:3、创建gxyd的用户、登陆4、开始导数据。
LOAD DATABASE DATABASE_NAME FROM ‘(路径)’5、ONLINE DATABASE DATABASE_NAME6、更新索引六、重建索引。
Sybase性能调优要点
Sybase数据库性能调优编者按:在现有软硬件条件下,充分发挥数据库系统的潜能(数据库性能调优)是DBA(数据库管理员)追求的最高境界。
然而,数据库性能调优是一个非常复杂的问题,不仅需要潜心研究数据库的理论知识,更需要参考同行的实践经验。
本期我们特别为DBA选登了一篇有关这方面内容的文章,希望对您的工作有所启迪。
文中提到的方法,主要针对Sybase数据库,但对DB2、Oracle 等大型数据库系统同样也有借鉴意义。
全国铁路客票系统是一个典型的基于数据库的大型应用系统,经过多次的技术改进,现已能够比较全面充分地满足和适应客票发售和预订的需求,是铁路运输管理信息系统中的重点应用。
系统采用Client/Server结构,后台使用Sybase 数据库和Unix操作系统,中间由自行开发的中间件负责连接交易处理和数据库通信。
这样一个遍及全国大小车站、统管全国的铁路客票发售系统,其重要性不言而喻。
特别是节假日铁路售票高峰期,客票主机一旦出现故障,造成停机,便会直接影响售票,极大地影响铁路正常运营。
因此,如何深入调整Sybase数据库的性能,保证数据库的高可用性,以满足日益增长的客票网络的需求,是每一个地区中心和每一个车站的数据库管理员的重要课题。
本文将结合铁路客票系统,对如何调整优化Sybase数据库的性能进行较深入的论述。
何谓数据库性能调优数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量。
响应越快,吞吐量越大,数据库性能越好。
不过,响应时间和吞吐量并不是都能一起得到改善的。
Sybase数据库性能调优可以从四个方面进行:●操作系统级:对网络性能、操作系统参数、硬件性能等做改进。
●SQL Server级:调整存取方法,改善内存管理和锁管理等。
●数据库设计级:采用降范式设计,合理设计索引,分布存放数据等。
●应用程序级:采用高效SQL语句,合理安排事务,应用游标,处理锁。
本文将对除操作系统级以外的三个方面的内容进行讨论,其中SQL Server 部分提到的概念只适用于Sybase数据库,但第三、第四方面讨论的内容同样适用于Sybase外的其他数据库。
sybase sql server内存分配
SYBASE SQL Server内存分配我们知道,在isql中,可以用sp_configure"memory"去看SQLServer目前使用的内存,这个数字单位为page,每一page为2k。
当memory的值被修改后,重新启动SQL Server 时,新的值才能生效当然,SQL Server内存与机器内存有一定的比例关系,Server的内存太小,会影响Server性能,甚至无法启动,内存太大,SQL Server也不能启动所以,了解SQL Server内存是如何分配的,对于正确地调整SQL Server内存的数值,保证Server最有效地运行会有很大的帮助。
一、内存使用:操作系统及其他运行程序所占内存SOL Server执行代码所占内存Kernl&Server 结构所占内存。
如:user connections,devices,open databases,open objects,locks,network packet buffers,extent i/o buffers等Procedure cacheData Cache二、内存分配举例:(以SQL SERVER 10.01 版本为参考)由上表可知,机器内存中去掉操作系统及其他程序所需的内存,剩下的内存就可以分配给SQL Server。
假设SQL Server内存值为5120 page,即5120 *2k=10MB SQL Server。
执行代码所占内存:对于不同平台,不同版本SQL Server执行代码大小不同,但对某种固定的平台及版本大小是固定的。
大约在2.5MB~3.0MB。
用dbcc memusage可以观察到执行代码的大小。
我们假设为2.72MB。
则剩下内存(10.0 -2.72)=7.28MB。
此外,静态SQL Server额外还需要一些保留内存(此值不因用户修改configure参数值而改变),大概在1.20~2.25MB。
关于sybase的配置
关于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 //通常2000number of open objects 4000 //通常2000number of user connections 300 //number of worker processes 0 //多cpu要打开相应工作进程数procedure cache size 154800 //存储过程缓存不要超过100Mtotal data cache size 453699 //明显该值太小allocate max shared memory 0 //打开sybase占用内存的开关max online engines 2number of engines at startup 2问题处理:建议先调整以下配置sp_configure "max memory",1150000 //sybase占用2.3G内存sp_configure "allocate max shared memory",1sp_configure "user log cache size",4096 //用户日志缓存用来缓存客户段信息sp_configure "procedure cache size",50000 //100M存储过程缓存sp_configure "number of worker processes",2备份sybase主目录下的***.cfgsp_cacheconfig "default data cache","1G" //配置缺省数据缓存1Gsp_cacheconfig "default data cache", "cache_partition = 2"reboot sybase服务备份sybase主目录下的***.cfgsp_cacheconfig "tempdb_cache","400M" //由于内存较充裕,通常会分配一部分内存给tempdb,提高查询的速度sp_bindcache "tempdb_cache","tempdb" //绑定400M的内存给tempdbreboot 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,用来缓存过程的编译代码。
Sybase数据库性能优化
Sybase数据库性能优化在现有软硬件条件下,充分发挥数据库系统的潜能是DBA追求的最高境界,然而,数据库性能调优是一个非常复杂的问题,不仅需要精通数据库的理论知识,更需要逐渐积累实践经验。
这里主要针对Sybase 数据库简要介绍一下如何进行调优,及调优时所要注意的事项。
Sybase数据库系统的性能的优化,是一项长期且受诸多因素影响的工作,它可划分为以下4个层次:✧SQL Server级:包括对内存的合理分配,锁操作和临时表的使用,与系统配置关联的磁盘的I/O性能。
✧数据库设计级:包括数据库对象的设计,索引的创建,表中数据类型的选择,数据库设备的分配及使用。
✧应用程序级:包括T_SQL查询语句的优化,应用级封锁,事务和游标的使用。
✧操作系统级:包括硬件、操作系统和网络对总体性能的影响。
在数据库应用系统的管理维护中,运行环境引起的性能劣化只有通过硬件的升级才能得到优化,在系统硬件配置和网络设计确定的情况下,影响系统性能的主要是其他三个层次方面的原因。
在此就这三个方面进行简要讨论、总结。
1 SQL Server级的调优1.1 管理共享内存数据库性能优化的首要方面是最优管理内存。
数据库占用的共享内存分成数据缓冲(data cache)、存储过程缓冲(Procedure cache)等几块。
在isql 下使用sp_configure 'cache' 可以看到存储过程缓冲所占百分比(procedure cache percent),整个数据缓冲大小(total data cache size)等参数。
1.1.1 存储过程缓冲(procedure cache)存储过程缓冲保持以下对象的查询计划:Procedures :存储过程Triggers :触发器Views :视图Rules :规则Defaults :缺省Cursors :游标存储过程不可重入,意即每个并发用户调用都会在内存中产生一个拷贝。
Sybase数据库性能优化
Sybase数据库性能优化在现有软硬件条件下,充分发挥数据库系统的潜能是DBA追求的最高境界,然而,数据库性能调优是一个非常复杂的问题,不仅需要精通数据库的理论知识,更需要逐渐积累实践经验。
这里主要针对Sybase 数据库简要介绍一下如何进行调优,及调优时所要注意的事项。
Sybase数据库系统的性能的优化,是一项长期且受诸多因素影响的工作,它可划分为以下4个层次:✧SQL Server级:包括对内存的合理分配,锁操作和临时表的使用,与系统配置关联的磁盘的I/O性能。
✧数据库设计级:包括数据库对象的设计,索引的创建,表中数据类型的选择,数据库设备的分配及使用。
✧应用程序级:包括T_SQL查询语句的优化,应用级封锁,事务和游标的使用。
✧操作系统级:包括硬件、操作系统和网络对总体性能的影响。
在数据库应用系统的管理维护中,运行环境引起的性能劣化只有通过硬件的升级才能得到优化,在系统硬件配置和网络设计确定的情况下,影响系统性能的主要是其他三个层次方面的原因。
在此就这三个方面进行简要讨论、总结。
1 SQL Server级的调优1.1 管理共享内存数据库性能优化的首要方面是最优管理内存。
数据库占用的共享内存分成数据缓冲(data cache)、存储过程缓冲(Procedure cache)等几块。
在isql 下使用sp_configure 'cache' 可以看到存储过程缓冲所占百分比(procedure cache percent),整个数据缓冲大小(total data cache size)等参数。
1.1.1 存储过程缓冲(procedure cache)存储过程缓冲保持以下对象的查询计划:Procedures :存储过程Triggers :触发器Views :视图Rules :规则Defaults :缺省Cursors :游标存储过程不可重入,意即每个并发用户调用都会在内存中产生一个拷贝。
SYBASE数据库数据的存储及优化
SYBASE数据库数据的存储及优化【摘要】随着企业的不断发展,对数据的管理由最初的文档管理到如今的专门的数据库管理软件,我们对数据的要求越来越高,不但要保证数据的安全,还要提高数据访问的速度,数据库中数据的存储直接影响到系统的性能,所以理解数据的存储对提高数据的访问速度及数据的检查是有益的。
1、SYBASE数据库中数据的存储下面介绍SYBASE数据库中数据的分配。
数据的分配按照物理存储空间被划分为以下几个层次:设备、段、分配单元、区间和页,在这里我们回想一下数据库是如何创建的,首先创建数据库设备,并将设备的信息记录到masters数据库的sysdevices系统表中。
数据库段:在create database 时引用一个设备,将会导致把该设备上的一部分空间分配为一个数据库段。
分配单元、区间和页:每个数据库段被分为若干个0.5M的分配单元,每个分配单元被分为32个区间,一个区间只能与一个数据库对象关联,即数据库对象是以区间为单位分配的;每个区间被分为8页,页分为数据页、索引页、分配页、对象分配映射页(OAM)、全局分配映射页(GAM),数据页存储表中的数据,索引页存储索引项,分配页是记录分配单元内哪些区间已被对象使用,哪些页实际存有数据,OAM页记录一个对象所拥有的那些区间的分配页,GAM页记录数据库中哪些分配单元还拥有可以存储对象的区间。
2、如何优化数据的存储,提高数据访问的速度数据的存储及维护直接影响到应用的性能,在日常的维护工作中,我们要根据应用的使用情况对重要表通过表分区及重建索引等方面提高系统性能,根据以上的有关数据存储的知识,下面从几个方面讨论如何提高数据的查询、更改等的速度。
2.1建立用户段单独存放数据库对象创建好数据库后,数据库中默认有三个段,default、system和syslog段,通常我们把syslog段单独放在一个数据库设备上,将数据和日志分离,表和索引等数据信息存放在default默认段上,我们可以创建更多的数据库设备,自定义用户段标识这些数据库设备,将某些数据库对象单独存放,提高数据的访问速度,减少系统的I/O,通过此方式可以控制数据的增长,可以将大表分在几个磁盘上,把频繁访问的对象放在单独的磁盘上,提高系统性能。
sysbase资料
第一讲Sybase基础知识一、客户/服务器体系结构Sybase是一种建立在客户/服务器体系结构上的数据库管理系统。
●什么是客户/服务器体系结构?从硬件角度看,客户/服务器体系结构是指将某项任务在两台或多台机器之间进行分配,其中客户机(Client)用来运行提供用户接口和前端处理的应用程序,服务器机(Server)提供客户机使用的各种资源和服务。
从软件角度看,客户/服务器体系结构是把某项应用或软件系统按逻辑功能划分为客户软件部分和服务器软件部分。
客户软件部分一般负责数据的表示和应用,处理用户界面,用以接收用户的数据处理请求并将之转换为对服务器的请求,要求服务器为其提供数据的存储和检索服务;服务器端软件负责接收客户端软件发来的请求并提供相应服务。
客户/服务器融合了大型机的强大功能和中央控制以及PC机的低成本和较好的处理平衡。
客户/服务器为任务的集中/局部分布提供了一种新的方法,这种体系能够使用户对数据完整性、管理和安全性进行集中控制。
在缓解网络交通和主机负荷以及满足用户需要方面,客户/服务器体系提供了良好的解决方案。
总之,客户/服务器的工作模式是:客户与服务器之间采用网络协议(如TCP/IP、IPX/SPX)进行连接和通讯,由客户端向服务器发出请求,服务器端响应请求,并进行相应服务。
数据库应用的客户/服务器模式如下图所示:二、访问Sybase服务器的基本过程1.建立客户与服务器之间的连接,包括网络连接、客户进程与服务器进程之间的连接;2.客户端通过网络发送SQL语句给服务器,用来查询或操作服务器中的数据或数据库对象;3.服务器接收到SQL语句后,对其进行语法分析、优化和编译后执行;4.如果执行的语句产生一个结果集,服务器通过网络把结果集返回给客户;5.客户端对收到的结果作相应的处理。
在客户/服务器体系,有两种数据库引擎结构,即多进程数据库引擎和单进程、多线程引擎结构。
多进程结构即多个可执行程序同时运行。
3.5.4 SYBASE数据库系统内存分配
3.5.4 SYBASE数据库系统1. 系统内存的整体管理在SYBASE系统中,可以使用下列配置参数,对整个数据库系统的内存空间使用进行设置:(1)MAX MEMORY(最大内存):设定整个数据库系统实例可以使用的最大内存数量,包括缓冲数据、程序代码的内存空间。
(2)TOTAL LOGICAL MEMORY(总逻辑内存):显示整个数据库系统所需内存空间的总和。
该参数是一个只读的配置参数,用户无法更改。
它是数据库系统根据所有和内存分配有关的配置参数的设置,进行计算而得出的系统所需内存空间的总和。
这个配置参数的值必须小于或者等于最大内存,否则数据库系统无法启动。
(3)TOTAL PHYSICAL MEMORY(总物理内存):显示整个数据库系统在特定时刻使用的内存空间总和。
该参数是一个只读的配置参数,用户无法更改。
它显示数据库系统所有内存空间的总和,也即数据库系统实例在某个特定时刻所分配的内存空间总和。
(4)ALLOCATE MAX SHARED MEMORY:设定数据库系统启动时,是否立即为系统分配所要求的最大内存。
如果该参数被设置,在数据库系统启动时,将按照最大内存配置参数的设置,为数据库系统分配内存空间。
在这种情况下,总物理内存就等于最大内存,如果数据库系统需要的总逻辑内存小于最大内存,则为数据库系统分配的部分内存空间不会被使用。
(5)DYNAMIC ALLOCATION ON DEMAND:设定数据库系统启动时或者系统正常运行过程中改变了配置参数之后,是否立即按照配置参数,为系统的各个内存段分配所要求的空间。
如果该参数被设置,将根据配置参数的设置,进行内存空间的分配,不管这些内存是否被用到。
如果该参数没有被设置,将根据数据库系统的需要,为各个内存段分配空间。
在主机内存空间足够的情况下,为避免系统正常运行时动态的内存空间分配,导致内存空间不连续,影响到数据库系统的性能,可以设置配置参数ALLOCATE MAX SHARED MEMORY,从而在数据库系统启动时就为其分配连续的、可使用的最大内存空间。
2024Sybase数据库教程归纳
Sybase数据库教程归纳•引言•Sybase 数据库安装与配置•Sybase 数据库基本操作•Sybase 数据库高级功能•Sybase 数据库管理工具•Sybase 数据库应用案例•总结与展望目录01引言目的和背景目的本教程旨在帮助读者理解并掌握Sybase数据库的基本概念、操作和管理技能。
背景随着企业数据量的不断增长和数据管理需求的日益复杂,Sybase数据库作为一种高性能、可伸缩的关系数据库管理系统,得到了广泛应用。
历史与发展Sybase数据库由Sybase公司开发,经历了多个版本的迭代和发展,逐渐成为企业级数据库解决方案的重要选择。
特点与优势Sybase数据库支持多种操作系统和硬件平台,提供了丰富的功能和工具,如事务处理、复制、备份恢复等,同时具备良好的性能和可伸缩性。
应用领域Sybase数据库广泛应用于金融、电信、政府、制造等领域,支持各种规模的企业级应用。
Sybase数据库简介教程内容和结构内容概述本教程将涵盖Sybase数据库的安装与配置、SQL语言基础、数据库设计与优化、存储过程与触发器、事务处理与并发控制、备份恢复与安全管理等方面的内容。
结构安排教程将按照由浅入深、循序渐进的原则进行组织,先介绍基本概念和操作,再逐步深入到高级特性和优化技巧。
同时,每个章节都将提供丰富的实例和练习,帮助读者巩固所学知识。
02Sybase数据库安装与配置安装前准备工作确认操作系统版本和硬件要求确保服务器或计算机的操作系统版本与Sybase数据库兼容,并满足最低硬件要求。
下载Sybase数据库安装包从官方网站或可信的下载源获取Sybase数据库的安装包。
准备安装目录选择一个合适的安装目录,并确保该目录具有足够的磁盘空间。
双击安装包,按照提示运行安装程序。
运行安装程序根据个人或企业需求选择合适的安装类型,如典型安装、完全安装或自定义安装。
选择安装类型在安装过程中,需要设置数据库的名称、端口号、字符集等参数。
sybase数据库设备与存储空间
sybase数据库设备与存储空间第二讲数据库设备与存储空间管理一、概述1.安装初始化初始安装SQLServer时,安装程序和脚本初始化主设备,并建立mater、model、tempdb和ybytemproc数据库。
系统数据库、预定义设备和段按下列默认方式组织:a.mater、model、tempdb数据库安装在主设备mater上;b.ybytemproc数据库安装在安装时选择的设备上(yprocdev);c.为每个数据库创建三个预定义段:ytem、default和logegment;d.所有用户创建数据库的默认设备是mater设备;e.如果选择安装了审计数据库ybecurity,它位于自己的设备上。
2.设备与存储管理考虑的主要问题(1)恢复物理磁盘崩溃时,磁盘镜像或在单独的物理设备上保存日志为数据库恢复提供了两种机制。
(2)性能磁盘读写速度是I/O操作的瓶颈,正确地把数据库对象放置到物理设备上有利于改进性能;把日志和数据库对象置于单独的设备上可以提高系统性能;把表放在一个硬盘上而把索引放在另一个硬盘上,由于把工作分置于两个硬盘驱动器上,所以可以确保物理读写速度加快;磁盘镜像会降低磁盘写的速度。
二、设备(Device)Sybae将数据库中的所有数据存放在设备上。
1.设备的概念设备是Sybae预先配置的专门存放数据库的一块连续的磁盘空间,并且它被映射到一操作系统文件或一原始磁盘分区上。
它有两个对应的名称:逻辑名和物理名。
NT仅支持设备映射到文件。
设备与数据库之间的关系:多对多关系。
一个数据库可以被创建或扩充到多个设备上,一个设备也可以被用来存放多个数据库。
不同的设备操作系统可以对其并行地读写,因此我们可以人为地将一个数据库放置到多个数据库设备上。
设备的分类:DatabaeDevice和DumpDevice。
数据库设备存放数据库和事务日志,转储设备用来存放数据库或日志的备份。
2.设备的创建命令语法:DISKINITName=’device_name’,Phyname=’phyical_name’,Vdevno=virtual_device_numberSize=nu mber_of_page[.]举例说明:DISKINITName=’My_Device’,Phyname=’D:\\databae\\My_device.dat’,Vdevno=3Size=5000注释:逻辑名、物理名、设备虚拟号、设备大小创建转储设备:p_addumpdevice{‘dik’|’tape’}Logical_Name,Phyical_Name,Ta peSize3.默认设备在没有指定设备的情况下,用户创建的任何数据对象自动存放在默认设备上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sp_cachestrategy 报告有关为表,索引设置的缓冲区策略,禁止或重新允许先提或MRU策略
sp_logiosize 为日志改变默认的I/O大小
sp_spaceused 估计表和索引大小或有关数据库使用的空间量的信息
sp_estspace 估计表和索引的大小,给出表包含的行的数目
sp_help 报告表将捆绑于哪个缓冲区
sp_helpindex 报告索引将捆绑于哪个缓冲区
的内存(第二行)之和,可存储在过程缓冲区中的编译对象受到此二者中较小者的限制。上述信息
中,第一行指明了分配给过程缓冲区的缓冲区数量为556,每个缓冲区大小为76B,故过程缓冲区
大小即为42256B,合21页;第二行则指明了分配给过程头的空间为629页,由此可以得出,过程
2KB 512KB 0.00MB 59.36MB
(2) 配置数据缓冲区
配置数据缓冲区有两种途径:一是使用过程sp_cacheconfig和sp_poolconfig进行交互
式配置,二是编辑配置文件中的total memory参数后重启使之生效.
除去上述占用,剩余内存将以procedure cache percent配置参数的值按比例分配给过程缓冲
区和数据缓冲区,例若值为20,即表示剩余内存的20%分配给过程缓冲区而80%分配给数据缓冲区。
确定缓冲区大小的另一种方法是检查SQL SERVE启动时写入SQL SERVER错误日志的内存信息,
区中的对象以及与不同缓冲区大小相关的开销的详细信息。
2。 缓冲区管理
数据缓冲区保存SQL SERVER当前使用和最近使用过的数据页,索引页和日志页.初装SQL SERVER
时,会产生一个默认的数据缓冲区.SQL SERVER允许系统管理员把数据缓冲区分成独立的命名数据
除去内部结构所占空间,内部结构分成内核结构和服务器结构,亦可将此部分内存看成静态开销
和用户配置参数占用两个部分,前者大小不受用户可配置参数的影响,一般为2-3MB,而后者即用
户可配置参数的大小则取决于配置参数的类型及其值的大小,包括number of user connections,
外的内存。
SQL SERVER启动时将内存分配给SQL SERVER可执行代码,SQL SERVER使用的静态内存,用户可配
置参数占用的内存及不驻留在缓存上的数据结构,剩余的内存分配给两种SQL SERVER缓冲区即:数据
缓冲区和过程缓冲区。两缓冲区的大小对整个系统的性能影响很大,在一个开发系统上可能要增加过多端
其中准确地说明了分配给过程缓冲区和数据缓冲区的数据量,以及多少个过程或其他编译对象能
同时驻留在缓冲区中,如相关信息为:
server:Number of proc buffers assocated:556
server:Number of blocks left for proc headers:629
缓冲区,然后可把数据库或数据库对象捆绑到这些命名缓冲区上,以对缓冲区空间进行更合理的组
织,控制数据库,表和索引在内存的驻留.另外,系统管理员还可在缓冲区内创建缓冲池,用于执行
大块的磁盘I/O,改善数据查询性能,减少磁盘I/O.有关数据库缓冲区的指令有:
sp_cacheconfig 创建或删除命名缓冲区,改变缓冲区的大小或类型
sp_helpdb 报告数据库将捆绑于哪个缓冲区
setshowplanon 报告有关用于查询的I/O大小和缓冲区的应用策略
setstatisticsioon 报告为查询进行的读操作数量
setprefetch on/off 允许或禁止某个会话的预先提取
第一部分输出各列含义为:cache name为缓冲区名;status指示该缓冲区是否激活(值为
pend/act时表示该缓冲区刚建立,重启后将被激活;值为active时表示该缓冲区目前正处于
激活状态;值为pend/del时表示该缓冲区处于激活状态,但在服务器重启后将被删除);type 使用指令sp_cacheconfig "default data cache",显示
结果如下,由两部分构成,上部分报告每个缓冲区中的内存池配置信息并总计了所有配置缓
冲区的大小;下部分提供了每个缓冲区中的其他详细信息.
sp_poolconfig 创建或删除I/O缓冲池,并改变其大小
sp_bindeache 将数据库或数据库对象捆绑到缓冲区
sp_unbindcache 从一个缓冲区中取消对指定对象或数据库的捆绑
sp_unbindcache_all 从一个缓冲区中取消所有对象的捆绑
送至错误日志.
创建一个新的名为pubs_cache的10M缓冲区指令如下,大小单位除M外,还可为P页,K,G,
(默认为K).该指令将改变系统表并将新值写入配置文件但暂不激活缓冲区,要使其生效
须重启SQL SERVER.
sp_cacheconfig pubs_cache,"10M"
server:Memory allocated for the default data cache:4144kb
前两行为过程缓冲区信息,过程缓冲区总大小是分配给过程缓冲区的内存(第一行)及分配给过
程头(即存放编译对象如存储过程的地方,根据被存储对象的大小,可能需要一个或多个过程头)
缓冲区总大小为629+21=650页,合1.27M。
信息中第三行则指明了分配给默认数据库缓冲区的空间大小。此外,若配置了命名缓冲区,则
相关信息还将包含每个命名缓冲区的信息,再加上这些命名缓冲区所占内存大小即得到总的数据
缓冲区大小。欲知数据缓冲区大小还可通过sp_helpcache过程得到每个缓冲区和捆绑到这些缓冲
run size显示配置大小和目前使用的大小,该两值在2K的缓冲池中是不同的(因为不能显式
配置其大小),而对于其他缓冲池,若试图在缓冲池间移动空间而一些空间又不能被释放时,
上述两值也不同.
Cache Name Status Type Config Value Run value
指示缓冲区是否可以存储数据("mixed"和日志页("logonly",只有默认缓冲区才会有
"default"类型,且默认的数据缓冲区类型不能改变,其他类型缓冲区也不能改为"default";
config value显示下次SQL SERVER重启后缓冲区的大小,在此情况下,默认缓冲区不能显式
number of open databases,number of devices,number of open objects,number of locks等,
要得到这些用户配置参数使用内存大小的精确估计,可调用不带选项的sp_configure以显示所有
参数和每个参数使用的内存量,其和即是用户配置参数所占用内存。
SYBASE内存和缓冲区管理
内存和缓冲区管理
-------------------------------------
为SQL SERVER提供的可用内存越多,SQL SERVER就有越多的资源使用于缓冲区,即可减少服务器
从磁盘读取数据以获取静态信息或编译过程计划的次数。调整SQL SERVER所占内存可通过在服务器配
---------------- ------ ------ ---------------- -------------
default data cache Active Default 0.00MB 59.36MB
-------------------------------
程缓冲区的专用内存,而在一生产系统上则需减少过程缓冲区大小以便获得更大的数据缓冲区。
1。 确定缓冲区大小
在total memory配置的总空间中,首先要除去可爱执行代码所占空间,其大小因平台和版本
不同而异,可使用sp_configure查询executable codesize参数的值得知,一般为3-4MB;其次需
置文件中设置total memory参数进行,该参数的值指定了SQL SERVER在启动时所需的内存总量,如若
该值为10000页,则SQL SERVER在启动时就将试图获得10000*2K=19.5M的内存,若不能满足则启动失败。
注意,若操作系统在进程的整个生命周期中支持动态内存分配,则可在SQL SERVER启动后为其分配额
Config Size:0.00MB, Run size:59.36MB
IO Size Wash Size Config Size Run Size
------- --------- ----------- --------
A. 交互式配置
> 创建命名缓冲区 (新创建的命名缓冲区从缺省缓冲区default data cache中分配空间)
每次执行sp_cacheconfig或sp_poolconfig时,SQL SERVER都将新的缓冲区或缓冲池信
息写入配置文件中并将文件的旧版本拷贝到一个备份文件中,给出备份文件名的信息被
Total 0.00MB 59.36MB
===================================================================
Cache:default data cache, status:Active, Typeefault
在重启SQL SERVER使新值生效前,可先用sp_cacheconfig "pubs_cache"查看配置信息