数据库服务器应用程序的性能取决于许多因素,包括硬件和软件配置、网络配置和数据库的设计。
如本章前面所述,硬件资源包括 CPU、物理内存和磁盘 I/O 子系统。
数据库服务器根据操作系统提供对设备的低级访问、进程安排、进程间通信和其他重要服务。
操作系统的配置直接影响数据库服务器性能状况。操作系统内核要使用大量的物理内存,这部分内存是数据库服务器和其他应用程序不能使用的。但是,必须为数据库服务器保留足够的内核资源供其使用。
依赖于网络与数据库服务器进行通信的应用程序,以及依靠数据复制保持高可用性的系统都会受限于网络的性能约束。网络上的数据传输通常比磁盘中的数据传输要慢。网络延迟对数据库服务器和运行在主机上的其他应用程序的性能具有显著影响。
数据库服务器实例的特征(例如,CPU 虚拟处理器 (VP) 的数目、驻留及虚拟共享内存部分的大小,以及用户数)对于决定应用程序的容量和性能均具有重要作用。
以下因素可能影响数据库服务器执行磁盘 I/O 和处理事务所耗用的时间:
数据库空间内表和分段的位置、单独的数据库空间中使用率高的分段的隔离,以及分段在多个数据库空间中的分布都会影响数据库服务器找到数据页面并将其传输到内存的速度。
分段存储策略以及扩展数据块的大小和位置会影响数据库服务器快速扫描表以查找数据的能力。避免交错的扩展数据块并且分配足够的扩展数据块以满足表的增长,可防止发生性能问题。
正确的查询结构和游标使用可以减少任何一个应用程序或用户施加的负载。提醒用户和应用程序开发者注意,其他人需要有对数据库的访问权,以及每个人的活动都会对其他人可用的资源产生影响。
日志记录、检查点、页面清除和其他操作(如进行备份或运行大的决策支持查询)都可能对系统施加持续的开销和很大的临时负载。在任何可能的时候,将备份和批处理操作在非高峰时间调度。
这些操作对性能有重要影响,尤其是在协调分布式连接的主机系统上。
应用程序将自己的负载引进操作系统、网络和数据库服务器。如果这些程序不能很好地使用系统资源、产生过度的网络通信量或在数据库服务器中产生不必要的争用,那么就可能导致性能问题。应用程序开发者必须正确使用游标和锁定等级以确保良好的数据库服务器性能。