背景

数据库服务器需要耗用大量系统资源,服务器性能高度依赖于内核管理这些资源的有效程度。这方面的低效率会导致在内核空间中耗费过多时间。另外,某些特定的低效情况会导致锁冲突,这会导致扩展性低下和串行化问题。这两个问题都会严重影响数据库性能,因为这两个问题或者消耗正常情况下应提供给数据库使用的CPU周期,或者强制数据库应用在某个内核资源上串行工作。

数据库体系结构

数据库体系结构特征:

  1. 有组织的表/视图,通常记录和保存在原始字符设备或文件系统上。
  2. 全局内存区域
  3. 事物日志机制

小型数据库在最简单的调优:

  1. 磁盘I/O的负载平衡
  2. 确保日志记录设备不会受到普通用户进程的干扰
  3. 确保存在着充足的可用内存,从而可以对事物进行缓存而不必完全基于磁盘操作

数据库中可进行性能调优的几个领域:

  • I/O调优
  • 队列长度和响应时间调优
  • 负载平衡调优
  • 全局内存调优
  • 日志设备调优

当代商用数据库可以分为公用存储器类型或者无共享资源类型。共用存储器的数据库常常能够更好地执行在线事物处理(Online Transaction Processing,OLTP),而无共享资源的数据库更适用与决策支持查询类型的数据库。提供WEB服务对于Apache而言,是Linux服务器及其网络协议最广泛的用途之一。Apache拥有丰富的功能,但它并非针对高性能目标而设计。总线速率、总线吞吐率以及工作负荷生成的总线流量对于改进Linux网络栈的性能至关重要。为了消除或减少数据流经总线的次数以及为了减少访存次数而对Linux网络栈实施的任何改进都可以改善Linux软件栈性能。决策支持系统(Decision Support System, DSS)