Informix IDS数据库广泛的应用在金融、电信和邮政等各个行业中,它是一个多线程的关系数据库服务器,采用对称的多处理器技术和单处理器体系结构,并具有先进的技术、性能与高可靠性和高可用性。它为用户提供了动态系统管理工具来监控和管理数据库服务器。随着数据库数量的增加和应用处理交易量的增多,它的运行效率显得尤为突出。在硬件环境不变的情况下,数据库性能的提高也一直成为大家关注的话题。
数据库系统性能通常与CPU、共享内存、数据的存储和网络设置等四个方面有直接的关系。下面着重介绍通过配置Informix IDS参数和监控Informix IDS运行效率,来提高数据库的性能。
虚拟处理器参数的调整和监控
Informix IDS对于虚拟处理器的分类,达到了十多种,每个虚拟处理器像操作系统的一个CPU允许多个进程服务于多个用户一样,也可以运行多个线程来为多个 SQL 客户机应用程序提供服务。其中最重要的虚拟处理器是CPU、AIO、网络处理器三种,在这三种服务器中,CPU虚拟处理器(CPU VP)是最重要的,它驱动其他虚拟处理器,如磁盘 I/O 虚拟处理器(AIO VP)和 IDS 会话中的所有线程。AIO VP的功能是在 SQL 语句访问或更新数据库数据时,执行磁盘 I/O。网络处理器涉及到数据库服务器的客户机或用户连接。可以进行两种类型的连接:共享内存连接和网络连接。下面分别介绍这三种类型的参数。
1.CPU虚拟处理器(CPU VP)的参数
NUMCPUVPS:定义了Informix IDS 开始启动的CPU VP的数量。一般情况下不能超过系统CPU的个数,对于单或双CPU的计算机系统,建议设置NUMCPUVPS是1或者2,即使用一个或两个CPU VP;对于有4个以上CPU,建议设置NUMCPUVPS的值等于处理器总数减1。
SINGLE_CPU_VP:定义了多CPU VP(0)和单CPU VP(1)设置。
MULTIPROCESSOR:定义了多个CPU VP(1)还是单个CPU VP(0)。
AFF_NPROCS:定义了可以绑定到CPU VP的CPU的数目。
AFF_SPROC:定义了把连续的几个CPU(AFF_NRPOCS参数定义的值)中第一个CPU的序号连接到CPU VP上。
例如,某个Informix IDS系统所在的硬件平台有4个CPU,AFF_NPROCS设置为3(即可用于绑定CPUVP的CPU有3个),NUMCPUVPS设置为3,AFF_SPROC设置为1,则3个CPUVP需要绑定到CPU上,是从第2个CPU开始,绑定到第二、三、四个CPU上。SINGLE_CPU_VP设置为0。
2.对于磁盘I/O虚拟处理器(AIO VP)的配置
NUMAIOVP 指定系统上 AIO/KAIO 虚拟处理器的数目,如果Informix IDS采用裸设备存储,可以设置成2。
在Informix IDS9.2以后的版本中将NUMCPUVPS、NOAGE、AFF_NPROCS、AFF_SPROC、NUMAIOVP用VPCLASS参数代替。当Informix IDS处于online的状态下,可以使用onmode -p (+/-)#来增加或者减少虚拟处理器。#代表增加或者减少虚拟处理器的个数。