`

Sybase数据库中数据高速缓存配置详解

阅读更多
主要配置存储过程sp_cacheconfig
语法:sp_cacheconfig cache_name, "size[P|K|M|G]" [,mixed|logonly] [,strict|relaxed] [,"cache_partition=[1|2|4|8|16|32|64]"]
缓存大小最小为512K
缓冲池大小分为三种:2K,4K,16K
缓存使用功能上分为:缺省数据高速缓存(2K,16K),User_Table_Cache(2K,16K),Log_Cache(2K,4Kw)
常用的命令:
sp_cacheconfig 创建或删除命名缓冲区,改变缓冲区的大小或类型
sp_poolconfig 创建或删除I/O缓冲池,并改变其大小
sp_bindcache 将数据库或数据库对象捆绑到缓冲区
sp_unbindcache 从一个缓冲区中取消对指定对象或数据库的捆绑
sp_unbindcache_all 从一个缓冲区中取消所有对象的捆绑
sp_helpcache 报告有关数据缓冲区的小结信息,并显示捆绑于缓冲区的数据库和对象
sp_cachestrategy 报告有关为表,索引设置的缓冲区策略,禁止或重新允许先提或M
SYBASE内存和缓冲区管理(rekcah0):
sp_logiosize 为日志改变默认的I/O大小
sp_spaceused 估计表和索引大小或有关数据库使用的空间量的信息
sp_estspace 估计表和索引的大小,给出表包含的行的数目
sp_help 报告表将捆绑于哪个缓冲区
sp_helpindex 报告索引将捆绑于哪个缓冲区
sp_helpdb 报告数据库将捆绑于哪个缓冲区
setshowplanon 报告有关用于查询的I/O大小和缓冲区的应用策略
setstatisticsioon 报告为查询进行的读操作数量
setprefetch on/off 允许或禁止某个会话的预先提取

具体配置操作:
给默认高速缓存配置缓存大小:sp_cacheconfig "default data cache","20M"
分配缓冲池,默认是分配在2K缓冲池:sp_poolconfig "default data cache" , "10M","16K"
创建新的高速缓存并分配大小,缺省为mixed:sp_cacheconfig "test_data_cache","8M"
16K缓冲池清洗区配置:sp_poolconfig "test_data_cache" ,"16K" , "wash=720K"

set fmtonly off
sp_cacheconfig查看缓存信息:
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
default data cache             Active    Default      20.00 Mb     20.00 Mb
test_data_cache                     Active    Mixed         8.00 Mb      8.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb   2048 Kb      0.00 Mb     10.00 Mb     10     
   16 Kb   2048 Kb     10.00 Mb     10.00 Mb     10     

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb   1638 Kb      0.00 Mb      8.00 Mb     10  
其中Type有三种值:Default,Mixed,Logonly

分配3M给4K缓冲池:sp_poolconfig "test_data_cache","3M","4K"
分配3M给16K缓冲池:sp_poolconfig "test_data_cache","3M","16K"
sp_cacheconfig "test_data_cache" 查看缓存信息:
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
test_data_cache                     Active    Mixed         8.00 Mb      8.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb    408 Kb      0.00 Mb      2.00 Mb     10     
    4 Kb    612 Kb      3.00 Mb      3.00 Mb     10     
   16 Kb    608 Kb      3.00 Mb      3.00 Mb     10
  
清除4K缓冲池分配的空间:sp_poolconfig "test_data_cache", "0", "4K"
sp_cacheconfig "test_data_cache" 查看缓存信息:
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
test_data_cache                Active    Mixed         8.00 Mb      8.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb   1024 Kb      0.00 Mb      5.00 Mb     10     
   16 Kb    608 Kb      3.00 Mb      3.00 Mb     10 
  
清除16K缓冲池分配的空间:sp_poolconfig "test_data_cache", "0", "16K"
sp_cacheconfig "test_data_cache" 查看缓存信息:
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
test_data_cache                Active    Mixed         8.00 Mb      8.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb   1638 Kb      0.00 Mb      8.00 Mb     10     

清除2K缓冲池分配的空间不可行的,默认的清除不掉,而删除test_data_cache高速缓存可用命令:
sp_cacheconfig "test_data_cache","0"
再用sp_cacheconfig查看时没有test_data_cache高速缓存了。      

创建新的日志高速缓存并分配大小:sp_cacheconfig "test_log_cache","6M",logonly
日志缓存大小不能大于最大内存大小,否则报错:
Server Message:  Number  5861, Severity  16
Procedure 'sp_cacheconfig', Line 1087:
The current 'max memory' value '33792', is not sufficient to change the parameter 'User Defined Cache' to '0'. 'max memory' should be greater than 'total logical memory' '34987' required for the configuration.
用sp_cacheconfig "test_log_cache" 查看缓存信息:
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
test_log_cache                 Active    Log Only      6.00 Mb      6.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb   1228 Kb      0.00 Mb      6.00 Mb     10     


将数据库或数据库对象捆绑到缓冲区:
sp_bindcache 可以将数据库,表,索引,text对象或Image对象绑定到数据缓存。只有系统管理员才能执行。
sp_bindcache "test_data_cache" , "dbname"
解除绑定在Master库中执行:sp_unbindcache "test_data_cache" , "dbname"
查看缓存绑定信息:sp_helpcache
Cache Name                Config Size     Run Size       Overhead
------------------------ -------------   ----------     ----------  
The sort for Worktable1 is done in Serial  
default data cache         20.00 Mb       20.00 Mb        1.48 Mb
test_data_cache            10.00 Mb       10.00 Mb        0.75 Mb

Memory Available For      Memory Configured
Named Caches              To Named Caches
--------------------       ----------------
  30.01 Mb                    30.00 Mb

------------------ Cache Binding Information: ------------------

Cache Name           Entity Name                Type               Index Name                    Status
----------           -----------                ----               ----------                    ------
test_data_cache      dbname                     database                                           V
其中,Status为V——有效,为I——无效

一般情况下,将高速缓存空间分配部分给16K缓冲池,在执行SQL时在速度上得到很大提升。在事务密集型环境中,事务日志配置4K缓冲池时性能最佳。

查看日志高速缓存的日志IO大小:值可以为2,4,8,16K
sp_logiosize
The transaction log for database 'DBNAME' will use I/O size of 2 Kbytes.

改为16K的日志IO大小:sp_logiosize "16"
Log I/O size is set to 16 Kbytes.
The transaction log for database 'DBNAME' will use I/O size of 16 Kbytes.


数据高速缓存查询比较:
在两个ASE 12.5.4版本数据库Sybase-A和Sybase-B下测试select count(*) from table1记录条数为6859650
set showplan on
set fmtonly off
sp_cacheconfig
--Sybase-A
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
default data cache             Active    Default    1500.00 Mb   1500.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb 122880 Kb      0.00 Mb   1500.00 Mb     10     


--Sybase-B
Cache Name                     Status    Type     Config Value Run Value   
----------                     ------    ----     ------------ ---------   
default data cache             Active    Default     900.00 Mb    900.00 Mb

IO Size  Wash Size Config Size  Run Size     APF Percent
-------  --------- -----------  --------     -----------
    2 Kb 143360 Kb      0.00 Mb    700.00 Mb     10     
   16 Kb  40960 Kb    200.00 Mb    200.00 Mb     10     

--Sybase-A
set showplan on
set statistics io on
set statistics time on
select count(*) from  table1

Using I/O Size 2 Kbytes for index leaf pages.
With LRU Buffer Replacement Strategy for index leaf pages.

第一次执行:
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.
Table: table1 scan count 1, logical reads: (regular=20688 apf=0 total=20688), physical reads: (regular=20183 apf=482 total=20665), apf IOs used=479
Total writes for this command: 36

Execution Time 51.
SQL Server cpu time: 5100 ms.  SQL Server elapsed time: 4373 ms.
(1 row affected)

第二次执行:
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.
Table: table1 scan count 1, logical reads: (regular=20688 apf=0 total=20688), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
Total writes for this command: 0

Execution Time 38.
SQL Server cpu time: 3800 ms.  SQL Server elapsed time: 3300 ms.
(1 row affected)

--Sybase-B
set showplan on
set statistics io on
set statistics time on
select count(*) from  table1

Using I/O Size 16 Kbytes for index leaf pages.
With LRU Buffer Replacement Strategy for index leaf pages.

第一次执行:
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.
Table: table1 scan count 1, logical reads: (regular=30248 apf=0 total=30248), physical reads: (regular=6017 apf=0 total=6017), apf IOs used=0
Total writes for this command: 0

Execution Time 14.
SQL Server cpu time: 1400 ms.  SQL Server elapsed time: 1416 ms.
(1 row affected)
第二次执行:
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.
Table: table1 scan count 1, logical reads: (regular=30248 apf=0 total=30248), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
Total writes for this command: 0

Execution Time 10.
SQL Server cpu time: 1000 ms.  SQL Server elapsed time: 1076 ms.
(1 row affected)

可以看出:两库使用的缓冲池大小不一样,高速缓存替换策略都LRU(最先使用),配置16K的缓冲池大小的在第一次执行时physical reads次数比2K的要少一倍以上,而logical reads次数比2K的要多一些,但总体查询时间16K缓冲池的发费要少得差不多三倍。



分享到:
评论

相关推荐

    sybase数据库系统配置

    ### Sybase数据库系统配置优化详解 #### 一、引言 Sybase数据库是企业级数据库管理系统之一,在金融、电信等领域有着广泛的应用。然而,在实际应用过程中,可能会遇到数据库性能缓慢的问题,这往往与系统配置密切...

    Sybase数据库备份方案.txt

    ### Sybase数据库备份方案详解 #### 一、数据结构备份 在进行Sybase数据库的备份时,首先应考虑的是数据结构备份。数据结构备份是指备份数据库中的所有对象定义,包括但不限于表、视图、存储过程等。这一步骤对于...

    3.5.4SYBASE数据库系统内存分配实用.pdf

    【SYBASE数据库系统内存分配详解】 在SYBASE数据库系统中,内存管理是至关重要的,它直接影响着系统的性能和稳定性。本文将深入解析SYBASE数据库系统内存分配的几个关键概念和参数。 1. **系统内存的整体管理** ...

    Sybase IQ 16.0中文版本 管理:数据库

    ### Sybase IQ 16.0中文版本管理:数据库知识点详解 #### 一、数据库管理概述 SAP Sybase IQ 是一款高性能的列式数据库管理系统,适用于数据分析和报告处理等场景。Sybase IQ 16.0 版本进一步提升了性能和易用性。...

    sybase数据库优化

    ### Sybase数据库优化详解 #### 一、数据库安装的优化 **1.1 应用数据库使用裸设备** 在UNIX环境下安装Sybase数据库时,为了提高性能,推荐将应用数据库的设备安装为裸设备。具体做法是在创建应用数据库设备(如...

    Sybase ASE15数据库调优参数设置

    - 使用`sp_cacheconfig`命令来配置默认数据缓存。 ```sql sp_cacheconfig "defaultdatacache", "100M"; ``` - **参数说明**:建议调整为`maxmemory`的40%-50%。 **4. 配置过程数据缓存** - 使用`sp_configure`...

    sybase调优和日常维护

    #### Interfaces配置详解 Interfaces文件位于`/opt/sybase`目录下,它是连接数据库服务器的桥梁。配置文件中包含服务名(如“SYBASE”)、数据库服务器的主机名(如“ksqhdb”)以及监听端口号(如2048)。这些信息...

    Sybase ASE数据库性能调优.pdf

    ### Sybase ASE数据库性能调优知识点详解 #### 一、概览 - **标题与描述**: “Sybase ASE数据库性能调优”旨在介绍如何优化Sybase Adaptive Server Enterprise (ASE) 数据库系统的性能,以实现更高效的数据管理和...

    SYBASE_ASE 15.7.0 for windows 64bit 客户端

    - **内存不足**:增加物理内存或调整数据库缓存大小。 - **磁盘I/O延迟**:考虑使用更快的存储介质(如SSD)或优化数据布局减少访问次数。 ##### 2. 安全隐患排查 - **弱密码风险**:强制实施复杂密码规则。 - **...

    Sybase-ASE快速参考手册

    数据库是存储数据的结构化仓库,而系统数据库则是Sybase数据库中用于管理数据库本身和数据库操作的核心数据库。 数据库用户是指可以访问特定数据库的用户账户,而登录账户与数据库用户之间的主要区别在于权限范围...

    Sybase Perfomance and Tuning:Basics

    ### Sybase数据库性能优化基础知识详解 #### 一、引言 Sybase数据库是业界领先的数据库管理系统之一,尤其在金融、电信等行业中应用广泛。随着业务量的增长和技术的发展,数据库性能问题逐渐凸显,如何有效地进行...

    sybase内存

    ### Sybase内存管理和数据库优化知识点 #### 一、Sybase内存配置详解 ...通过以上详细的配置和优化措施,我们可以显著提升Sybase数据库服务器的性能、稳定性和安全性,更好地满足企业级应用的需求。

    sybase调优

    - **原因**:默认情况下,Solaris操作系统的共享内存上限可能不足以支持Sybase数据库的正常运行,特别是在设置了较大的CACHE等内存配置的情况下。 - **解决方案**: - 使用`root`用户登录系统; - 编辑`/etc/...

    sybase iq安装

    ### Sybase IQ 数据库安装与配置详解 #### 一、Sybase IQ 概述 Sybase IQ 是一款高性能的企业级列式数据库管理系统,以其卓越的数据压缩能力、高速查询性能和低维护成本而著称。它特别适用于数据仓库、商业智能...

    Adaptive Server Enterprise 数据库知识

    Adaptive Server Enterprise(ASE)是Sybase公司的一款高级企业级关系型数据库管理系统,常用于处理大规模的事务处理和数据仓库应用。在这个系统中,数据库管理是核心任务之一,包括数据库的创建、设置、扩展和维护...

    SYBASE内存配置

    ### SYBASE内存配置详解 #### 引言 在IT领域,数据库服务器的性能优化是确保系统稳定性和响应速度的关键。其中,SYBASE SQL Server作为一款高性能的企业级数据库管理系统,其内存配置尤为关键。本文将深入解析...

    sybase性能调优

    通过对Sybase版本的确认、配置参数的优化、监控工具的使用以及数据库设计与优化等多个方面的综合考虑,可以有效地提升Sybase数据库系统的整体性能。希望上述内容能为正在进行或计划进行Sybase性能调优的朋友们提供...

    【中文】【Sybase.ASE12.5性能优化】

    ### Sybase ASE 12.5 性能优化核心知识点详解 #### 一、Sybase ASE 12.5 概述 Sybase Adaptive Server Enterprise (ASE) 是一款高性能的关系型数据库管理系统,由SAP公司旗下的Sybase部门开发。Sybase ASE 12.5 ...

    SybaseIQ培训手册

    - Sybase IQ 是一款高性能列式数据库管理系统,特别适合于数据仓库和商务智能应用。 - 其特点是支持高速的数据加载、查询处理以及灵活的数据管理。 - 使用独特的压缩技术来减少存储需求,提高查询性能。 - **...

    Sybase_for_windows安装使用

    尽管描述中未提供具体的安装步骤截图,但通常安装Sybase数据库涉及以下几个关键步骤: 1. **下载安装包**:从官方或授权渠道获取适合Windows操作系统的Sybase安装文件。 2. **运行安装程序**:双击安装程序,按照...

Global site tag (gtag.js) - Google Analytics