如何调优 一、CPU问题

a)考虑使用更高级的CPU代替目前的CPU

b)对于多个CPU,考虑CPU之间的负载分配

c)考虑在其他体系上设计系统,例如增加前置机、设置并行服务器等 二、内存和高速缓存

a)内存的优化包括操作系统、数据库、应用程序的内存优化

b)过多的分页与交换可能降低系统的性能

c)内存分配也是影响系统性能的主要原因

d)保证保留列表具有较大的邻接内存块

e)调整数据块缓存区大小(用数据块的个数表示)是一个重要内容

f)将最频繁使用的数据保存在存储区中 三、磁盘(I/O)资源问题

a)磁盘读写进度对数据库系统是至关重要的,数据库对象在物理设备上的合理分布能改善性能

b)磁盘镜像会减慢磁盘写的速度

c)通过把日志和数据库对象分布在独立的设备上,可以提高系统的性能

d)把不同的数据库放在不同的硬盘上,可以提高读写速度。建议把数据库、回滚段、日志放在不同的设备上

e)把表放在一块硬盘上,把非簇的索引放在另一块硬盘上,保证物理读写更快。 四、调整配置参数

a)包括操作系统和数据库的参数配置

b)并行操作资源限制的参数(并发用户的数目、会话数)

c)影响资源开销的参数

d)与I/O有关的参数 五、优化应用系统网络设置

a)可以通过数组接口来减少网络呼叫。不是一次提取一行,而是在单个往来往返中提取10行,这样效率较高

b)调整会话数据单元的缓冲区大小

c)共享服务进程比专用服务进程提供更好的性能

附录: 1、RAID设备

RAID(独

立冗余磁盘阵列)指的是多个独立的 硬盘(图上的黄色存储区) 结合组成一个较大的逻辑阵列(带斜线的存储区)。

数据存储在磁盘的此阵列带有附加的冗余 信息。 冗余信息可以是数据本身(镜像),也可以是奇偶校验信息计算从 多个数据块(RAID4或RAID5)。

有了RAID,操作系统(Windows*,NetWare*或Unix)不 再单独处理个别磁盘,而是将整个磁盘阵列作为一个逻辑磁盘处理。

RAID的主要目的是改进数据可用性和安全性。 出现 硬盘故障,RAID可以防止停机,但是它不恢复数据用户删除或者由等重大事件破坏 失窍或起火。 由于此,就必须经常备份您的数据保护您的系统免这些 问题RAID后安装。

施RAID解决方案有两种方法。 硬件RAID控制器是智能设备, 自行处理所有的RAID信息。

安装这种系统后,所有控制权,RAID阵列也已解除主机 和控制完全由RAID控制器。 一种方法是使用简易的主适配器和RAID

驱动程序实施RAID。 在这种系统中,驱动程序被集成在操作系统,如Windows*NT。

此时,RAID系统的性能完全依赖于主CPU的处理负荷,它可 在阵列重建阶段负荷带有潜在的问题出现硬盘故障。

硬件RAID控制器需要关注的地方包括:安装和维护的简便性, 管理软件的功能和制造商的经验,发展RAID组件。 RAID控制器必须支持最 重要的RAID级别(0、1、4、5和10),并且能够 跨通道同时处理不同RAID级别的多个阵列。 RAID级别-驱动器是如何组织

RAID的各个层次在阵列驱动器之间分布数据以不同方式并依具体 情况进行优化。 根据我们的目标,我们计划集中在当今最常用的RAID级别。 如何确定您的RAID级别

RAID0

RAID0

此RAID级别组合了两个或更多硬盘驱动器以某种方式结合,数据(黄色存储区的ABCD…)从上方的”用户 被分割成便于处理的块。

这些块以条带形式分布于的不同驱动器的RAID0阵列。 这样, 两个或更多硬盘组合后,读/写(尤其是序列性访问读写)性能可以改善。

然而,中不储存冗余信息一个RAID0阵列,这意味着如果一个硬驱发生故障,所有数据都会丢失。 缺乏冗余这一事实也在号码0,它表明没有冗余。

RAID0因此通常不在 注重安全性的服务器上使用。

优点:传输率最高

缺点:无冗余,也就是说,其中一个磁盘发生故障,所有数据将丢失

应用程序:通常用于在工作站临时数据并要求高I/O速率

RAID1在

RAID1系统中,相同的数据被存储在两个硬盘上(100%冗余)。 当一个磁盘驱动器发生故障时,

所有数据都可以在其它没有任何影响性能或数据的完整性。 我们称之为 “磁盘镜像”当两个磁盘驱动器镜像一个SCSI通道。

如果每个磁盘驱动器连接到一个独立的 SCSI通道,我们称之为”磁盘双工”(附加安全性)。 RAID1表示一个简单及高效

解决方案为数据安全和系统可用性。

优点:可用性高,即使一个磁盘发生故障,逻辑硬盘上的数据依然可用

缺点:要求2磁盘,但只使用其中一个存储

应用程序:通常使用于较小的系统,其中容量1磁盘足够,并用作启动盘

RAID4

RAID4

RAID4非常类似于RAID0。 上面的数据分割在各磁盘之间。 此外,raid控制器也

会计算的冗余性(奇偶校验信息)存储在单个磁盘(p1、p2等)。 即使有一个磁盘 发生故障,所有的数据完全可用。 丢失的数据通过计算数据

以及奇偶校验信息。 与RAID1,只需要一个磁盘空间用于 冗余。 假如有一个RAID4磁盘阵列5磁盘驱动器、80%的安装磁盘

容量用户容量,则只有20%的用于冗余。 如果存在许多小 数据块,奇偶校验磁盘将出现吞吐量的瓶颈。 对于较大的数据块,raid4展示大大

提高的性能。

优点:可用性高,即使一个磁盘发生故障,逻辑硬盘上的数据依然可用

优点:很好地利用了磁盘容量(N个磁盘的阵列,N-1用于数据存储)

缺点:必须计算冗余信息,这样就限制了写入性能

应用程序:通常用于较大的数据存储系统由于安装容量与实际 可用容量的比率较高

RAID5

RAID5

与RAID4,奇偶校验数据在RAID5磁盘阵列中以条带形式分布于所有磁盘驱动器。 RAID5磁盘阵列提供 更加平衡的吞吐量。

即使中的小数据块,它多重任务和多用户环境 的响应时间都十分良好。 RAID5的安全级别相同与RAID4:当一个磁盘驱动器发生故障时,所有的数据

完全可用。 丢失的数据通过有效数据以及奇偶校验信息计算得出。

优点:可用性高,即使一个磁盘发生故障,逻辑硬盘上的数据依然可用

优点:很好地利用了磁盘容量(N个磁盘的阵列,N-1用于数据存储)

缺点:必须计算冗余信息,这样就限制了写入性能

应用程序:通常用于较大的数据存储系统由于安装容量与实际 可用容量的比率较高

RAID10

RAID10

RAID10综合了RAID0(性能)和RAID1(数据安全)。 与RAID4和RAID5,它 不用计算奇偶校验信息。

RAID10磁盘阵列提供了良好的性能和数据安全性。 类似于RAID0, 在较高序列负载条件下可以保证最佳性能。

与RAID1,50%的安装容量被用作 冗余。

优点:可用性高,即使一个磁盘发生故障,逻辑硬盘上的数据依然可用

优点:良好的写入性能

缺点:需要偶数个磁盘,最少4,只有一半的磁盘容量用于

应用程序:通常使用于需要较高序列写入性能的场合 2、磁盘I/O的计算

每磁盘的I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。

下表给出了每磁盘I/O的计算公式:

RAID类型

计算方法

RAID0
(Reads+Writes)/Number of Disks
RAID1
(Reads+2*Writes)/2
RAID5
[Reads+(4*Writes)]/Number of Disks
RAID10
[Reads+(2*Writes)]/Number of Disks