910119yxf

目的

为保证性能测试结果准确、可用,需在性能测试正式执行前对测试环境配置进行确认。本文对系统不同层次的的配置项进行了整理,梳理了可能引起系统性能差异的主要配置项,相关人员可通过本文的建议,对测试环境进行确认,进一步规避测试环境不一致引起的风险。

适用范围

本指南适用于由系统测试处负责实施的性能测试项目。

适用人员

测试经理、性能测试人员、性能测试实施相关的项目组成员。

 

操作系统

4.1 Windows 

4.1.1 基本配置

配置项

描述

查看方法

机型

若为实体机,描述具体机型,

命令行->dxdiag

若为虚拟机,需描述宿主机机型

项目组提供,集成人员确认

CPU

系统配置的CPU信息:型号、核数、主频等

1、计算机->右键属性或管理

2、命令行->dxdiag

超线程

查看系统是否开启超线程

计算机运行->msinfo32

查看单个CPU核数,确认是否与逻辑CPU个数一致,若一致则表示未开启,否则表示开启

内存

系统配置的物理内存大小

1、计算机->右键属性

2、命令行->dxdiag

存储

存储大小

计算机->管理->磁盘

存储类型和厂家型号,

例如本地磁盘、共享存储,并注明共享存储型号(DMX4SAN等)

需与项目组当面确认,由集成人员负责。

操作系统

描述操作系统版本,并标注32位或64

1、计算机->右键属性

2、 命令行->dxdiag

无关服务开闭要求

如无特殊要求,原则上应禁用以下不必要的服务: Error

Reporting、NetMeeting Remote Desktop Sharing、Remote Access

Auto Connection Manager、Remote Access Connection Manager、

Alerter、Internet Connection Sharing、Messenger、Routing and

Remote Access、Telnet Server;

1、开始—>控制面板—>管理工具—>服务,右击需要关闭的服务,选择停止

网络配置要求

Windows Server 2003 系列应关闭自带防火墙

控制面板—>windows防火墙,选中“关闭”

网卡相关配置

Offloading checksum

设备管理器—>网卡—>高级选项,选择DISABLE

TCP Chimney

禁用服务,将 EnableTCPChimneyEnableRSS、EnableSynAttackProtect 注册表项的值设置为 1

RSS

SyncAttackProtect

时区设置与时间同步要求

Windows Server 服务器除非有特殊需要,必须设置为UTC+8:00

时区

右击右下角的时间,选中日期时间进行设置,最好启用Windows Time 服务,主动与域控制器保持时钟同步。

4.1.2 注册表配置

配置项

路径

描述

默认值

TcpTimedWaitDelay

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

TCP/IP可释放已关闭连接并重用其资源前,需经过的时间。

若在相关路径下未找到该项,则表示为默认情况,值为240秒,如修改,需新增该项REG_DWORD ,并设置为十进制

MaxUserPort

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

确定应用程序可以从系统请求的动态端口数。

若在相关路径下未找到该项,则表示为默认情况。以Windows server 2003为例,默认值为5000

 

4.2  HP-UX

4.2.1 基本配置

配置项

描述

查看方法

机型

若为实体机,描述具体机型,虚拟机需描述宿主机机型

使用命令machinfo

CPU

系统配置的CPU信息:型号、核数等

使用命令machinfo

超线程

查看系统是否开启超线程

1、使用命令:getconf _SC_HT_ENABLED

0表示关闭,1表示开启

2、使用命令:kctune lcpu_attr

查看value的值,0表示关闭,1表示打开

单个CPU开启的线程数

(尚未有环境进行验证)

内存

系统配置的物理内存大小

使用命令: machinfo  

存储

存储大小

使用命令bdf

显示所有已挂载的文件系统以及每个文件系统的信息:文件系统名称,总的磁盘空间,已用的磁盘空间,可用的磁盘空间,磁盘利用的百分率,挂载点

(需事先明确外挂存储盘涉及的文件系统)

存储类型和厂家型号

与项目组确认

操作系统

描述操作系统版本,并标注32位或64

使用命令:machinfo

核心参数

filecache_min:物理内存中拿来作为文件IO缓存的最小值

kctune该命令需要相关权限

 

filecache_max:物理内存中拿来作为文件IO缓存的最大值

4.2.2 系统配置

为提高系统的稳定性,减少系统网络配置上的漏洞,HP UX

统必须关闭如下表所示的网络服务,应用特许需要开启的服务

除外:

服务名称

服务要求

查看方法

Tftp

小型文件传输协议,为操作系统开启的tftp服务,与联想的应用tftp无关

Cd etc

Vi inetd.conf

查看该服务是否被注释

Bootps

引导程序协议服务端

Finger

查询远程主机在线用户等信息

Exec

远程执行协议

Ntalk

通话协议

printer

远程打印

Rpc

远程过程调用

Kshell kerberos

远程命令协议

Klogin kerberos

远程登录协议

time 服务

功能类似命令行调用time命令

echo 服务

功能类似命令行调用echo命令

Sendmail

发送邮件服务

 

Cd /etc/rc.config.d/

Vi mailservs

查看SERVERMAIL_SERVER状态

时区TZ

描述系统当前时区信息,在某些情况下,如调用系统底层localtime函数,在较大并发下,由于时区设置不合理可能引起CPU使用率过高。

各主机系统本身的时区要求统一东8 区(北京时区),即EAT-8

Echo $TZ

 

CDE( 通用桌面环境)设置

考虑到系统的安全性,若应用没有明确需要,必须关闭CDE服务。

建议:关闭

1、命令 ps -ef | grep dtlogin 同时查看网络端口是否开启:netstat -an | grep 177

2、查看文件 /etc/inittab 中 dt:2:wait:etc/rc.dt条目是否注释

CDE设置若应用没有明确需要,必须关闭CDE 服务,方法如下:

svcadm disable cde-login

4.3 AIX

4.3.1 基本配置

配置项

描述

查看方法

机型

若为实体机,描述具体机型,虚拟机需描述宿主机机型

1、 可使用

方法一:uname –Mu:查看机型IBM,XXXX-XXX

方法二:prtconf:第一行显示System Model,如下:

System Model: IBM,XXXX-XXX

2、 使用以下地址,搜索对应的IBM机型

http://pic.dhe.ibm.com/infocenter/powersys/v3r1m5/index.jsp?topic=/iphdx/9117_MMA_landing.htm

CPU

系统配置的CPU信息:型号、核数等

prtconf:查看CPU型号、物理个数以及主频,

得到如下:

Processor Type: PowerPC_POWER6(型号)

Number Of Processors: 4(物理个数)

Processor Clock Speed: 5008 MHz(主频)

SMT

查看SMT是否开启,以及单个CPU开启的线程数

1、 Smtctl 查看SMT是否开启,以及每个CPU开启的SMT线程个数

得到如下:

This system is SMT capable.

This system supports up to 2 SMT threads per processor.

SMT is currently enabled.

SMT boot mode is not set.

SMT threads are bound to the same physical processor.

proc0 has 2 SMT threads.

Bind processor 0 is bound with proc0

Bind processor 1 is bound with proc0

2、 Bindprocessor 查看逻辑CPU

3、 lsdev -Cc processor 查看可以可用物理CPU

root用户权限)

内存

系统配置的物理内存大小

方法一:Vmstat:查看物理内存大小

方法二:prtconf,得到如下:

Memory Size: 16384 MB

Good Memory Size: 16384 MB

存储

存储大小

df –m :显示逻辑磁盘可用空间及大小

存储具体信息待定

存储类型和厂家型号

需与项目组当面确认,由集成人员负责。

操作系统

描述操作系统版本,并标注32位或64

nmon:查看操作系统版本和位数

4.3.2 系统配置

4.3.2.1 常规配置要求

相关参数

配置项

描述

查看方法

核心参数

 

Swap分区大小

当物理内存小于8G 时,建议swap 初始大小设置为8G;

当物理内存大于8G时,建议swap 初始大小设置为16G;

若物理内存大于32G 时,可根据情况增加swap 的大小,但最大不应超过32G。

命令:

lsps -a 或swap –l

查看hd6的size

 

maxuproc

用户可创建的最大进程数

lsattr -Elsys0 | grep maxuproc

用户参数

limits 参数中默认项

 

该项位于位于/etc/security/limits 文件中,系统初始安装时,可将该文件中default 下的参数设为-1,即无限制。建议:设置如下

default:

fsize = -1

core = -1

cpu = -1

data = -1

rss = -1

stack = -1

nofiles = -1

Vi  /etc/security/limits

网络服务相关配置

tftp

小型文件传输协议,为操作系统开启的tftp 服务。

建议:关闭

1、查看etc/inetd.conf下对应的服务项,若注释则为关闭,若未注释,则表示已启用。

2、可用以下命令:

Lsscr –t 服务名查看状态,其中active表示已启用,inoperative表示禁用。

bootps

用于无盘客户机的bootp服务。

建议:关闭

finger

查询远程主机在线用户等信息

建议:关闭

exec

远程执行协议建议:关闭

ntalk

允许用户相互交谈,除非绝对需要

建议:关闭

printer

远程打印

建议:关闭

rpc

远程过程调用

建议:关闭

kshell kerberos

远程命令协议用于Kerberos

建议:关闭

klogin kerberos

远程登录协议,用于Kerberos

建议:关闭

系统日志要求

/etc/environment文件,该文件为全局环境变量文件,对所有用户生效。

确认文件中是否加入语句 :EXTENDED_HISTORY=ON

该语句为每个用户执行的命令增加时间戳,日志默认仅记录操作命令,增加该语句后,示例:#fc -t -1000d(查看用户最近执行的1000条命令)。

24     2011/04/09  14:34:23 :: lssrc -a|grep ntp

建议:增加该语句

 

Vi  /etc/environment

 

CDE( 通用桌面环境)设置

考虑到系统的安全性,若应用没有明确需要,必须关闭CDE服务。

建议:关闭

1、命令 ps -ef | grep dtlogin 同时查看网络端口是否开启:netstat -an | grep 177

2、查看文件 /etc/inittab 中 dt:2:wait:etc/rc.dt条目是否注释

 

4.3.2.2 针对Oracle数据库配置

针对安装Oracle数据库服务器,需特别关注如下配置项:

所属项

配置项

描述

查看方法

核心参数

Swap分区大小

当物理内存小于8G 时,建议swap 初始大小设置为8G;

当物理内存大于8G时,建议swap 初始大小设置为16G;

若物理内存大于32G 时,可根据情况增加swap 的大小,但最大不应超过32G。

命令:

lsps -a 或swap –l

查看hd6的size

/tmp区

Tmp区大小

df –k | grep /tmp

ncargs

属性决定命令行(包括环境变量)的最大长度。系统通常设为256

建议:>=128

lsattr -EH -l sys0 | grep ncargs

 

maxuproc

用户可创建的最大进程数

建议:>= 16384

lsattr -Elsys0 | grep maxuproc

网络参数

tcp_ephemeral_low

指定要为 TCP 临时端口分配的最小端口号

使用命令:no -a | fgrep ephemeral

建议:

tcp_ephemeral_low=9000

tcp_ephemeral_high=65500

udp_ephemeral_low=9000

udp_ephemeral_high=65500

tcp_ephemeral_high

指定要为 TCP 临时端口分配的最大端口号

udp_ephemeral_low

指定要为 UDP 临时端口分配的最小端口号

udp_ephemeral_high

指定要为 UDP 临时端口分配的最大端口号

 

4.4 Linux

4.4.1 基本信息

配置项

描述

查看方法

机型

若为实体机,描述具体机型,虚拟机需描述宿主机机型

dmidecode | grep "Product Name":查看机器型号,若为虚拟机,宿主机型号需由项目组提供

CPU

系统配置的CPU信息:型号、

核数等

1、 cat /proc/cpuinfo | grep name | uniq查看CPU型号、主频、

2、 cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc l 查看物理CPU个数

3、 cat /proc/cpuinfo |grep "cores"|uniq

查看单个CPU的核数

超线程

超线程是否打开

cat /proc/cpuinfo |grep core

查看结果中2个相邻的Core ID是否相同,若相同代表打开。

内存

系统配置的物理内存大小

1、 cat /proc/meminfo | grep total:查看系统物理内存大小(KB

2、 free –m:Mb为单位显示当前内存大小

存储

存储大小

df k:查看可用存储大小,单位为KB。(需事先明确外挂存储盘涉及的文件系统)

存储类型及型号

需与项目组确认

操作系统

描述操作系统版本,并标注32位或64

cat /etc/issue | grep Linux:查看操作系统版本

4.4.2 系统配置

4.4.2.1 常规配置要求

Linux系统必须关闭如下表所示的网络服务,应用特许需要开启的服务除外:

服务名称

服务描述

查看方法

cups

打印服务

chkconfig |grep  cups

postfix

邮件服务

chkconfig |grep postfix

pcscd

smart卡登录服务

chkconfig |grep pcscd

smartd

磁盘监控服务,对于做过RAID的磁盘无效

chkconfig |grep smartd

4.4.2.2 针对Oracle数据库配置

所属项

配置项

描述

查看方法

核心参数

swap大小

Swap分区大小

free –m | grep Swap

/tmp

临时目录空间

建议:大于1G

df -h /tmp

HugePages配置

大页配置,HugePages是linux内核的一个特性,使用hugepage可以用更大的内存页来取代传统的4K页面

建议:启用

cat /proc/meminfo | grep HugePages

示例:示例:

AnonHugePages:     10240 kB

HugePages_Total:    3411

HugePages_Free:     2998

HugePages_Rsvd:     1636

HugePages_Surp:        0

其中,HugePages_Total非0说明已启用大页

Limits参数

nproc/max user processes(ulimit -a命令显示)

进程的最大数目

1、vi /etc/security/limits.conf

示例:

oracle  soft    nproc   2047

oracle  hard    nproc   16384

 

说明:以上表明针对Oracle限制,若为*则表明对所有用户生效。soft/hard  软限制/硬限制  soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。

2、ulimit -a

显示shell 启动进程所占用的资源的限制

注:ulimit a显示值为limits文件中对应项配置soft限制值。

nofile/open files(ulimit -a命令显示)

打开文件的最大数目

stack/stack size(ulimit -a命令显示)

最大栈大小

Memlock/max locked memory(ulimit -a命令显示)

最大锁定内存地址空间

示例:

 

Linux 内核及网络配置

kernel.shmall

控制共享内存页数,单位为页。该参数大小为物理内存除以pagesize。

可通过getconf PAGESIZE命令获取系统页大小,默认为4096(4K), 假设一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304 (页)。

vi /etc/sysctl.conf

示例:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 4194304

kernel.shmmax = 8589934592

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

 vm.nr_hugepages = 6144

说明:#为注释配置,即无效。

kernel.shmmax

用于定义单个共享内存段的最大值,单位为字节。shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降 。

建议:Oralce 建议SHMMAX > SGA(SGA_MAX_SIZE),这样在任何时候都不会有甚至轻微的性能下降的隐患。

Kernel.shmmni

共享内存段的最大数量。

系统默认为4096,一般无需修改。

 

vm.nr_hugepages

指明了内存页数,如果设置大内存页为100G,则vm.nr_hugepages的大小为70G×1024×1024/2048K=35840

fs.file-max

文件句柄数,表示在Linux系统中可以打开的文件数量。

建议:为512 乘以processes。如128个process,则file-max=512*128=65536。

net.ipv4.ip_local_port_range

应用程序可使用的IPv4端口范围。

 

Web

5.1 IIS

5.1.1 基本信息

配置

路径

描述

默认值

图形界面查看

配置文件查看

版本

 

描述IIS版本信息

 

IIS管理器-帮助-关于

 

队列长度

IIS高级设置->常规->队列长度

该值限制在特定时间内可在队列中等待的应用程序池请求的最大数量,若达到此限制,则新请求都将被拒绝,用户收到错误信息“503-服务不可用”

1000,建议将该值设置为预期最多用户数的1.5倍

应用程序池默认配置:IIS信息服务管理器->点击应用程序管理池->右边栏设置应用程序池默认设置及高级设置选项。

 

亦可直接查看IIS配置文件相关项,配置文件具体路径为:C:\WINDOWS\system32\inetsrv\MetaBase.xml

最大工作进程数

IIS高级设置->进程模型->最大工作进程数

设置处理对应用程序池的请求的最大工作进程数,该值对应后台的w3wp进程个数,>1时将启动多个进程进行处理。

1

最大专用内存

IIS高级设置->回收->最大专用内存

单位为KB,设置每个工作进程可用的最大内存大小,若超过该限制,将发生内存回收。

 

 

 

 

禁用重叠回收

IIS高级设置->回收->禁用重叠回收

默认情况下,应用程序池使用重叠回收方式。在这种方式下,当应用程序池要关闭某个工作进程时,会先创建一个工作进程,直到新的工作进程成功创建后才关闭旧的工作进程;应用程序池也可以先关闭旧的工作进程,然后再创建新的工作进程。

若Web应用程序不支持多实例运行,需配置应用程序池禁止使用重叠回收。

False

回收工作进程(分钟)

IIS高级设置->回收->回收工作进程

在工作进程运行多少分钟后回收工作进程,默认启用。

1740分钟(29小时)

 

连接超时时间

IIS高级设置->网站限制

服务器断开非活动用户之前就保持连接的时间长度(以秒为单位)。

90秒

 

会话超时时间

IIS ->网站->会话状态

服务器断开超过会话时间的连接

20分钟

 

在下列时间回收工作进程

IIS高级设置->回收->在下列时间回收工作进程

在指定时间回收工作进程,默认禁用。使用24小时制定义回收时间。

 

禁用

 

UriScavengerPeriod

文件存放位置:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

会定期扫描Http.sys缓存,在两次扫描期间没有被访问过的条目将被删除。

设置为一个较高的值可以减少扫描次数。但是访问频率低的老条目仍然保留在缓存中,缓存占用的内存将不断增加。如果设置得过低,扫描频率会过于频繁,而且可能导致缓存的过度清洗和扰动

120秒

 

修改注册项

5.1.2 组件确认

IIS6应用程序服务器安装组件列表下级组件

是否必须安装

缺省设置

推荐设置

备注

应用服务器管理界面

启用

启用

 

ASP.NET

禁用

禁用

对于静态页面服务器,ASP.NET可选。

启用网络COM+访问

启用

禁用

对于静态页面服务器,COM+可选。

启用网络DTC访问

禁用

禁用

对于静态页面服务器,DTC可选。

Internet Information Services (IIS)

启用

启用

WEB服务器基本功能,必选。

消息队列

禁用

禁用

对于静态页面服务器,消息队列可选。

 

IIS组件选择列表下级组件

是否必须安装

缺省设置

推荐设置

备注  

Background Intelligent Transfer Service (BITS)

禁用

禁用

针对后台文件传输功能,除非有特殊要求。

Server Extensions  Common Files

启用

启用

 

File Transfer Protocol (FTP) Service

禁用

禁用

除非有特殊要求,否则不启用

FrontPage 2002 Server Extensions

禁用

禁用

提供FrontPage支持

Internet Information Services Manager

启用

启用

IIS管理界面

Internet Printing

禁用

禁用

提供互联网打印功能

NNTP Service

禁用

禁用

新闻组功能

SMTP Service

启用

禁用

邮件功能

World Wide Web Service

启用

启用

 

 

World Wide Web Service的下级组件 子组件

是否必须安装  

缺省设置

推荐设置

备注

Active Server Pages

禁用

禁用

提供ASP网页支持

Internet Data Connector

禁用

禁用

提供IDC文件支持

Remote Administration (HTML)

禁用

禁用

提供IIS的HTML管理界面

Remote Desktop Web Connection

禁用

禁用

提供远程桌面的web连接

Server-Side Includes

禁用

禁用

服务器端文件嵌入功能支持

WebDav Publishing

禁用

禁用

支持以文件浏览方式访问web服务器

World Wide Web Service

启用

启用

提供web功能

 

静态网页服务器IIS7安装组件列表IIS 模块名

是否必须 安装

缺省设置

推荐设置

备注

静态内容

启用

启用

允许 Web 服务器发布静态 Web 文件格式。

默认文档

启用

启用

允许配置网站的默认页。

目录浏览

禁用

禁用

允许浏览网站目录的内容。

HTTP 错误

启用

启用

在响应上设置错误状态代码时发送默认和配置的HTTP 错误消息。

HTTP 日志记录

启用

启用

允许记录网站活动。(建议移动IIS日志目录到非系统盘)

日志记录工具

启用

启用

提供用于管理服务器日志和自动执行常见日志记录任务的基础结构。

备注:2008下查看方法需补充

5.1.3 其他

配置项

描述

查看方法

HTTP压缩功能

建议保持缺省设置:启用静态内容压缩功能

IIS信息服务管理器->选取一个具体网站—>在中间页面,查看IIS->点击压缩项

IIS7的“输出缓存”设置

如无特殊情况,建议采用“
内核模式缓存”来提高网站速度,并选择“使用文件更改通知”。建议将输出缓存应用于静态内容。

Ø IIS信息服务管理器->选取一个具体网站—>在中间页面,查看IIS->点击输出缓存项

计划时间和内存使用率的2种回收方式

 

参见基本信息

内存使用率

建议设置为不超过最大物理内存的70%

参加基本信息最大专用内存。

应用程序池”LogEventOnRecycle”
属性回收事件记录

 

IIS高级设置->回收->生成回收事件日志条目

5.2 Apache

配置项

描述

默认值(建议值)

查看方法

版本

精确到XX.X.X

 

1.linux进入/xxx/xxx/HTTPServer/bin,命令httpd -v 查看,AIX未成功

2.unix:  查看/xxx/xxx/HTTPServer/version.signature
3.windows 一般apache安装目录名直接可以看出版本信息

HostnameLookups

通过DNS获取请求客户的机器名

off提高性能

一般配置文件地址为:
xxx/xxx/apache目录/conf/httpd.conf,打开配置文件后,搜索对应的配置项即可

AllowOverride

为每个虚拟目录设置对 URL 进行重写的时候,rewrite规则会写在 .htaccess 文件里。

为提供性能,一般设置为None

DirectoryIndex

虚拟目录中的默认起始页面

按照实际配置可提供性能

EnableMMAP

在递送中使用内存映射(memory-mapping)来读取文件

开启会提供性能,但某些操作系统和文
件系统上会有问题

EnableSendfile

使用操作系统内核的sendfile支持来将文件发送到客户端

这个sendfile机制避免了分开的读和写操作以及缓冲区分配,
但是在一些平台或者一些文件系统上,最好禁止这个特性来避免一些问题

KeepAlive

是否保持连接

 

MaxKeepAliveRequests 1000

一个连接可以最多发送多少次请求

 

KeepAliveTimeout

保持连接的超时时间

 

MPM

是否编译时使用了MPM(多进程模块),主要包括prefork和worker方式

 

Module扩展

启用的Module扩展,如php,weblogic,根据配置文件中的LoadModule和
系统部署架构确定

 

StartServers

由主进程生成的子进程的个数

 

ThreadsPerChild

每个子进程的线程数

 

ServerLimit

最大的进程数

 

MaxClients

最大的连接数

 

MinSpareThreads 

最小的空闲线程数

 

MaxSpareThreads 

最大的空闲线程数

 

 

 

中间件

6.1 Weblogic

6.1.1 基本配置

WebLogic主要关注:服务器信息、执行线程、JDBC连接池三部分内容,主要配置项如下:

类型

配置项

描述

默认值

 

版本

Weblogic版本信息

服务器信息Server

-client、-server

这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性能。

windows环境下,缺省为client模式,

在Linux,Solaris上缺省采用server模式。

启用本机I/ONativeIOEnable

True,表示该server使用本地I/O

 

套接字读取器(SocketReaders

设置在执行线程中专用做SocketReaders的百分比。

 

最大打开套接字数(MaximumOpenSockets

在给定时间点内允许在服务器中打开的最大套接字数,达到最大阀值时,服务器将停止接收新请求,直到套接字数下降至阀值内,值小于0表示无限制。

Windows环境下该值为0

粘滞线程最长时间(StuckThreadMaxTime

在服务器认为某线程已粘滞之前,线程必须连续运行的时间(秒),超过这个时间没有返回的执行线程,系统将认为是堵塞线程,若weblogic认为某个队列中所有的线程全部堵塞,weblogic将会增加执行线程的数量

Windows下取0

粘滞线程计时器间隔(StuckThreadTimerInterval

系统查看粘滞线程的时间间隔。

默认为0666

内存不足GC阀值(LowMemoryGCThreshold

当可用内存小于该百分比时,启动垃圾回收,并将服务器内存不足警告记录在日志文件中并且将服务器健康状况更改为警告。

 

接收积压(AcceptBackLog

针对服务器的常规和SSL端口,等待队列中最多可以有多少TCP连接等待处理。如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设置的过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

默认为50

执行线程

 

执行线程数(ThreadCount

服务器初始创建的执行线程的数量,设置原则:增大机器的最大并发线程数,可以使处理器的利用率达到最大。对于服务器端操作比较多的线程,应该减少线程计数;对于客户端操作比较多的,应该增加线程计数。((并发线程数理论上等于“本地主机CPU个数+Stuck线程数”,应根据实际情况设置,过大可能导致性能下降))

 

最大执行线程数(ThreadsMaximum

服务器支持的最大执行线程数量(执行队列的配置对weblogic性能比较重要,活动执行线程、执行线程总数、空闲线程总数、队列长度值可以作为判断是否需要对执行线程进行调整的参考,根据经验值,一颗CPU可以配置25-30之间的执行线程)

该值在不同模式下,默认值不同。开发模式下,默认15 Threads,生产模式下,默认25 Threads

JDBC连接池

初始容量(InitialCapacity

创建JDBC连接池时建立的物理连接数,此连接数页是连接池将保持的最小可用物理连接数

 

最大容量(MaxCapacity

JDBC连接池中可容纳的最大物理连接数。

该值在不同模式下,默认值不同。开发模式下,默认15 connections,生产模式下,默认是25 connections

容量增长(CapacityIncrement

将新连接添加到连接池时创建的连接数,即当没有可用的物理连接来满足连接请求时,weblogic Server会创建该数量的附加物理连接并将它们添加到连接池中。 

 

语句高速缓存类型(Statement Cache Type

主要用于维护存储在语句高速缓存中的预定义语句的算法。Prepared statement缓存的策略,LRU算法在有新的语句到来时,将最不经常用的语句调整出缓存;FIXED算法为先进先出。

 

语句高速缓存大小(Statement Cache Size

存储在告诉缓存中的预定义语句和可调用语句的数量。Weblogic Server可以重用高速缓存中的语句而无需重新加载它们,这样便可提高服务器性能,连接池中的每个连接都有其自己的语句高速缓存。调整该值的大小,有利于提高系统的效率。

 

 

6.1.2 查看方法

可以通过Weblogic管理控制台和查看配置文件两种方式,对当前Weblogic的参数配置进行查看。

类型

配置项

linux/unix下配置文件查看

所有系统console端查看

 

版本

$BEA_HOME/registry.xml:<component name="WebLogic Server" version="10.3.3.0" InstallDir="/weblogic/wlserver_10.3">

 

服务器信息Server

启用本机I/O(NativeIOEnable)

/domains/DOMAIN_NAME/config/config.xml:<NativeIOEnable></NativeIOEnable>

mydomain
->Servers
->myserver
->Configuration
->Tuning
服务器-->配置-->优化
查看相关项即可

套接字读取器(SocketReaders)

/domains/DOMAIN_NAME/config/config.xml:<SocketReaders></SocketReaders>

最大打开套接字数(MaximumOpenSockets)

/domains/DOMAIN_NAME/config/config.xml:<MaximumOpenSockets></MaximumOpenSockets>

粘滞线程最长时间(StuckThreadMaxTime)

/domains/DOMAIN_NAME/config/config.xml:<StuckThreadMaxTime></StuckThreadMaxTime>

粘滞线程计时器间隔(StuckThreadTimerInterval)

/domains/DOMAIN_NAME/config/config.xml:<StuckThreadTimerInterval></StuckThreadTimerInterval>

内存不足GC阀值(LowMemoryGCThreshold)

/domains/DOMAIN_NAME/config/config.xml:<LowMemoryGCThreshold></LowMemoryGCThreshold>

接收积压(AcceptBackLog)

/domains/DOMAIN_NAME/config/config.xml:<AcceptBackLog></AcceptBackLog>

执行线程

执行线程数(ThreadCount)

/domains/DOMAIN_NAME/config/config.xml:
<self-tuning-thread-pool-size-min>5</self-tuning-thread-pool-size-min>

mydomain
->Servers
->myserver
->Monitoring
->Monitor all Active Queues

服务器-->监视-->线程

最大执行线程数(ThreadsMaximum)

/domains/DOMAIN_NAME/config/config.xml:
<self-tuning-thread-pool-size-max>15</self-tuning-thread-pool-size-max>

JDBC连接池

初始容量(InitialCapacity)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:
<initial-capacity></initial-capacity>

mydomain
-> JDBC Connection Pools
->Configuration
->Connections

服务->JDBC->数据源->连接池

最大容量(MaxCapacity)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml: <max-capacity></max-capacity>

容量增长(CapacityIncrement)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:<capacity-increment>100</capacity-increment>

语句高速缓存类型(Statement Cache Type)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:<statement-cache-type>LRU</statement-cache-type>

语句高速缓存大小(Statement Cache Size)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:
<statement-cache-size>10</statement-cache-size>

 

6.2 Tuxedo

Tuxedo配置文件UBBCONFIG为例,配置文件共分为8节,各节所描述的内容如下:

类型

配置项

描述

默认值

查看方法

 

版本

Tuxedo版本信息

 

*RESOURCES节(必须):与整个系统有关的配置信息

IPKEY

共享内存ID,Tuxedo以此来标识公告板及其他IPC资源

范围32769~262142

HP-UX、Linux类环境下Tuxedo应用系统的所有资源定义均在UBBCONFIG文件中,配置完成后,UBBCONFIG被编译成一个二进制文件TUXCONFIG,系统启动时,将从TUXCONFIG文件读取系统的配置信息。可使用cat命令、vi工具查看文件内容。

Windows环境下,Tuxedo配置文件对应 *.ini文件,具体配置信息如下。

MASTER

主控节点的逻辑名LMID,也可以为该MASER机指定一台备份机

 

UID

Tuxedo管理员用户id,在Unix下即执行tmloadcf的用户ID。

Windows环境下该值为0

GID

TUXEDO管理员用户所在的组id

在Windows下取0

PERM

指定对此IPC资源的存取权限。即任何人都可以对该IPC资源进行存取

默认为0666

DOMAINID

该TUXEDO应用系统的唯一标识

 

MAXACCESSERS

设定在本系统一个节点(一台服务器)上,可以有多少进程访问该系统的公告板

默认为50

MAXSERVICERS

设定系统中最多有多少个Server存在

默认值50

MAXSERVICES

设定系统中最多有多少个Service存在

默认值100

MODEL

部署模式:SHM(单机或者多台服务器但公用一个全局共享内存)、MP(多台服务器但没使用一个全局共享内存)

 

OPTION

LAN(表使用MP部署模式),MIGRATE(表服务可以移植到替代处理器上)

 

SCANUNIT

内部时间间隔单位,单位是秒

默认值10秒

BLOCKTIME

Tuxedo的管理进程BBL定时对它所在的服务器上的Tuxedo系统进行检查,检查超时的事务、超时的客户端连接等。SANITYSCAN指每隔多少个SCANUNIT检查一次,即为12×SCANUNIT(默认10秒)=120秒

默认值12

NOTIFY

交易超时时间,单位是SCANUNIT

默认值6

*MACHINES节(必须):一个Tuxedo应用系统可能跨越多台服务器,在该节中配置与每台服务器有关的信息

LMID

物理处理器名

 

TUXDIR

TUXEDO系统软件安装位置

 

APPDIR

应用服务位置全路径

 

TUXCONFIG

TUXEDO配置文件全路径

 

ENVFILE

环境文件全路径

 

TYPE

指定该服务器类型,当两台服务器类型不同时,在它们之间传送数据要进行编码/解码工作

 

ULOGPFX

指定应用日志文件所在的目录及前缀。

 

 

*GROUPS节(必须):Tuxedo中的服务可被分为多个组,在该节配置与组有关的信息

组名

组的唯一标识符,可以是字母数字

 

GRPNO

组的唯一数字标识符

 

LMID

逻辑机器名

 

*SERVERS节(可选):与Server有关的信息

SRVGRP

服务属于一个在*GROUPS节中定义的服务组名

 

SRVID  

该Server所对应的ID。在组中应该唯一

 

MIN

最少启动的进程数

 

MAX

最多启动的进程数

 

RESTART

如果设成Y,则服务可以重启动

 

GRAC,MAXGEN

在GRACE定义时间之内,服务可以重启动MAXGEN次

 

RCMD

每次服务重启动要执行的一个可执行文件名

 

CLOP

跟随服务启动的其他参数

可在应用服务器的srvinit函数中获取参数。

*SERVICES节(可选):与Services有关的信息

BUFTYPE

任何向该交易的请求,数据应该是此处定义类型

 

SRVGRP

交易所在服务所在的组

 

LOAD

负载因子,表示处理请求的时间,用于计算负载平衡

默认为50

PRIO

优先级

默认为50

其余几节为:

1、 *NETWORK节(可选):与网络有关的信息 

2、 *ROUTING节(可选):配置路由规则 

3、 *NETGROUPS节(可选):与网络分组有关的信息

6.3 WebSphere Application ServerWAS

6.3.1 基本信息

WebSphere Application Serve(WAS)是IBM公司 Java EE 和 Web服务应用程序平台,简称WAS。

本文仅介绍与系统性能相关的配置项,WAS作为java应用程序,也包含JVM相关的配置信息,JVM的内容将在后续章节中单独介绍。

配置项

描述

默认值

版本

描述WAS的版本信息

 

JDBC连接池

资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >连接池属性

最小连接数:10
最大连接数:50

语句高速缓存

资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >WebSphereApplicationServer数据源属性>语句高速缓存大小

10

Web容器线程池WebContainer

服务器>应用程序服务器> (服务器名) >
线程池> WebContainer

最小大小:4
最大大小:50

Web容器传输链

服务器>应用程序服务器> (服务器名) >
web容器传输链WCInboundDefault

最大连接数:20000

超时时间:60s

EJB缓存

服务器>应用程序服务器> (服务器名) > EJB高速缓存设置> EJB缓存设置>高速缓存大小

高速缓存大小:2053
清除时间间隔:3000ms

servlet高速缓存

服务器->server1->web容器设置->web容器->启用servlet高速缓存

关闭

 

6.3.2 查看方法

WAS 7.0版本为例,可通过进入管理控制台方式,查看以上各项配置,截图如下:

版本:

 

JDBC连接池:

 

语句高速缓存:

 

WebContainer线程池:

 

Web容器传输链:

 

EJB缓存:

 

Servlet高速缓存:

 

除通过管理界面查看外,还可以通过查看后台XML配置文件, 在Windows环境下,WebSphere配置文件默认路径为:安装路径/AppServer/profiles/Dmgr01/config/cells下,具体与环境有关。

6.4 MQ

配置

描述

默认值

查看方法

版本

描述MQ版本信息

 

版本:dspmqver2、DefaultQFileSize和DefaultQBufferSize查看方法:针对每一个队列管理器而言,都有一个名为qm.ini的配置文件,在Windows NT/2000平台上,该配置文件以注册表方式存在,可以使用MQ提供的图形界面进行查看。在Linux、Unix类系统下,查看配置文件qm.ini默认路径为/var/mqm/qmgrs/项目队列名称/qm.ini,若配置文件中没有明确说明,即采用默认值。

 

DefaultQFileSize

队列文件的大小

缺省情况下,队列文件在硬盘上的大小最大是320M,最大为1G

DefaultQBufferSize

为每一个队列的非永久性消息保留的内存大小

缺省值是64kb,推荐值是128Kb

MAXDEPTH

最大队列深度,即输入队列中允许的最大消息数。

在 AIX®、HP OpenVMS、HP-UX、Linux®、OS/400®、Solaris、Windows® 和 z/OS 上,指定 0 至 999 999 999 范围内的值。在其他平台上,指定 0 至 640 000 范围内的值。

通过命令行查看,运行MQSeries命令(runmqsc  QMgrName),显示队列的属性(DISPLAY QUEUE(QNAME)),即可查看

MAXMSGL

最大消息长度即输入队列中允许的最大消息长度(以字节计)。

在 AIX、HP OpenVMS、HP-UX、Linux、OS/400、Solaris 和 Windows 上,指定一个在 0 和队列管理器最大消息长度之间的值

应用层

7.1 基本信息

配置

描述

开发平台、语言

描述软件开发平台,例如.Net 、Java等

运行环境

描述软件运行所需的基础环境及相关版本信息,例如.Net Framework 3.5、Jdk1.6等

7.2 日志设置

若使用Log4j或Log4Net日志组件,请确认以下配置:

配置

查看路径

描述

日志级别

Log4j的配置文件有xml 、properties,以xml为例,查找到<level value="WARN" />项,其中level value值为配置的日志级别;

Log4Net配置文件在CS程序,默认App.Config文件,若为BS程序则在web.config添加,查找levelvalue的值。

描述当前记录的日志级别,从优先级由高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL,通常建议只使用以下四个级别:ERROR、WARN、INFO、DEBUG。

 

 

7.3 JVM设置

7.3.1 基本配置

从以下四个方面关注JVM的配置信息:

一、 与堆栈相关的配置项

配置

描述

默认值

-Xms<size>

设置虚拟机可用内存堆的初始大小,缺省单位为字节,该大小为1024的整数倍并且要大于1MB,可用k(K)或m(M)为单位来设置较大的内存数。

例如:-Xms6400K,-Xms256M

初始堆大小为2MB。

-Xmx<size>

设置虚拟机内存堆的最大可用大小,缺省单位为字节。该值必须为1024整数倍,并且要大于2MB。可用k(K)或m(M)为单位来设置较大的内存数。

例如:-Xmx81920K,-Xmx80M

 

缺省堆最大值为64MB。(提示:单纯增加Xmx未必可以提高性能,因为该调整虽然会降低GC的频率,但也增加了每次GC的时间。并且GC运行时,所有的用户线程将暂停,也就是GC期间,Java应用程序不做任何工作)

-Xss<size>

设置线程栈的大小,缺省单位为字节。与-Xmx类似,也可用K或M来设置较大的值。

也可在java中创建线程对象时设置栈的大小,构造函数原型为Thread(ThreadGroup group, Runnable target, String name, long stackSize)。

Stack的大小限制着线程的数量,在相同物理内存下,减小这个值能生成更多的线程。

-Xss参数决定Stack大小,例如-Xss1024K。如果Stack设置不合理就会导致内存溢漏。

通常操作系统分配给线程栈的缺省大小为1MB。

JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。

一般来说,webx框架下的应用需要256K。 若程序有大规模的递归行为,请考虑设置到512K/1M。 一般情况下,256K已经足够大。

-Xmn<size>

指定JVM 中新生代(New/Young Generation)的大小,如: -Xmn256m。

若程序需要比较多的临时内存,建议设置到512M,如果用的少,尽量降低这个数值,一般来说128m/256m足以使用了。

-XX:PermSize=<n>

PermGen Space:全称是Permanent Generation space。就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域。

-XX:PermSize指定JVM中永久代(Permanent Generation)的最小值, 如: -XX:PermSize=32m。

 

-XX:MaxPermSize=<n>

指定永久代的最大值,如: -XX:MaxPermSize=64m

示例:在实际案例中,为解决系统TPS波动,可设定如下:-XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxNewSize=512m

 

-XX:NewRatio=<n>

指定JVM中年老代堆大小与新生代的比例,在使用CMS GC(concurrent mark sweep)的情况下此参数失效 , 如: -XX:NewRatio=2

 

-XX:SurvivorRatio=<n>

指定新生代中Eden Space与一个Survivor Space的堆大小比例。-XX:SurvivorRatio=8, 那么在总共新生代为10m的情况下, Eden Space为8m ,S0和S1分别为1m。

 

-XX:MinHeapFreeRatio=<n>

指定JVM 堆在使用率小于n的情况下,堆进行收缩,在Xmx==Xms的情况下无效。

示例: -XX:MinHeapFreeRatio=30

 

-XX:MaxHeapFreeRatio=<n>

指定JVM堆在使用率大于n的情况下,堆进行扩张,在Xmx==Xms的情况下无效。

示例: -XX:MaxHeapFreeRatio=70

 

-XX:LargePageSizeInBytes=<n>

指定 Java heap 的分页页面大小,示例: -XX:LargePageSizeInBytes=128m

 

二、 GC相关的配置项

配置

描述

默认值

-XX:+UserParallelGC

指定在新生代使用Parallel Collector(并行收集器),暂停应用线程,同时启动多个垃圾回收线程,不能和CMS GC一起使用。 系统吞吐量优先,但是会有较长长时间的应用暂停,后台系统任务可以使用此GC

 

-XX:+UserParallelOldGC、

指定在年老代使用Parallel Collector

 

-XX:ParallelGCThreads=<n>

指定Parallel Collection(并行收集器)时启动的线程个数

默认是物理处理器(Processor)的个数

-XX:MaxTenuringThreshold=<n>

指定一个o对象,经历了n次young gc后将被转移到年老代区。此参数对于Throughput Collector无效,示例如下X:MaxTenuringThreshold=31

Linux64的Java6下默认值是15

-XX-UseAdaptiveSizePolicy

自动选择年轻代区大小和相应的Survivor区比例。

设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议在使用并行收集器时,一直打开。

 

-XX:+UseParNewGC

指定在新生代使用Parallel Collector,是UseParallelGC的GC的升级版本,有更好的性能或者优点,可以和CMS GC一起使用。

 

 -XX:+CMSParallelRemarkEnabled

在使用UseParNewGC的情况下,尽量减少mark的时间。

 

-XX:+UseConcMarkSweepGC

指定在年老代使用CMS GC,GC线程和应用线程并行 (在 init-mark和remark时,暂停应用线程)。应用暂停时间较短,适合交互性强的系统,如web server。

测试中配置这个以后,-XX:NewRatio=4的配置失效了,原因不明。所以,此时年轻代大小最好用-Xmn设置。

 

 -XX:CMSInitiatingOccupancyFraction=<n>

在年老代中,用了n%的比例内存后,开始使用CMS GC做垃圾回收。

示例:XX:CMSInitiatingOccupancyFraction=70

 

 -XX:+UseCMSInitiatingOccupancyOnly

指示只有在年老代使用了初始化的比例后,CMS GC启动收集。

 

-XX:+UseCMSCompactAtFullCollection

在FULL GC的时候,对年老代的压缩。防止内存碎片,对live object进行整理,使内存碎片减少。CMS是不会移动内存的,因此,这个非常容易产生碎片,导致内存不够用,因此,内存的压缩这个时候就会被启用,增加这个参数是个好习惯。可能会影响性能,但是可以消除碎片

 

-XX:+DisableExplicitGC

禁止java程序中的Full GC,如System.gc()的调用。防止程序在代码里误用了System.gc()对性能造成的冲击。

 

-XX:+ExplicitGCInvokesConcurrent

显式调用gc(如System.gc)时,也可以并行进行标记-清扫式垃圾收集(CMS)

 

三、 内存管理调优的相关配置项

配置

描述

默认值

-XX:+UseFastAccessorMethods

get,set方法转成本地代码

 

-XX;+PrintGCTimeStamps

打印垃圾收集的时间情况, 示例:[Times: user=0.09 sys=0.00, real=0.02 secs]

 

-XX:+PrintGCApplicationStoppedTime

打印垃圾收集时,系统的停顿时间,示例 :

Total time for which application threads were stopped: 0.0225920 seconds

 

-XX:+PrintGCDateStamps

打印GC的真实日期

 

-XX:PrintGCDetails-Xloggc

打印垃圾收集的情况,示例

[GC 15610.466: [ParNew: 229689K->20221K(235968K), 0.0194460secs] 1159829K -> 953935K (2070976K), 0.0196420 secs]

 

-XX:+HeapDumpOnOutOfMemoryError

内存泄漏时,输出内存dump文件

 

-XX:+HeapDumpBeforeFullGC

FULL GC前,输出内存dump文件

 

-XX:+PrintFlagsFinal

这个参数的作用是显示出VM初始化完毕后显示所有可设置的参数及它们的值

 

7.3.2 查看方法

查看方法

具体操作

动态查看

当java进程启动后,可通过抓取java进程查看当前jvm配置(ps –ef|grep java)

配置文件查看

配置文件查看:在J2EE环境中查看这些参数,只需要在J2EE应用服务器或者Servlet容器相关启动文件启动参数设置处查看,比如,Tomcat是在catalina.bat中配置,weblogic一般在startWeblogic.sh中配置。
参数设置示例:
-server -Xmx3g -Xms3g -Xmn=1g -XX:MaxPermSize=128m -Xss256k -XX:MaxTenuringThreshold=10 -XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+UseParallelOld GC -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -XX:+UseBiasedLocking
-server -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:MaxTenuringThreshold=31 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection

数据库层

8.1 SQL Server

8.1.1 基本配置

配置

描述

默认值

查看方法

版本

描述数据库版本信息

 

select @@version

最大服务器内存

设置SQL Server可用的最大物理内存大小,单位为MB

建议不超过物理内存的70%

右击服务器属性->内存,设置最大内存

最大并行度

max degree of parallelism

表示数据库可支持的最大并发度,在需要对并发度做限制时,可修改该值。某些情况下,限制并发度可提高系统性能,建议与CPU核数保持一致。

0不限制,即使用所有的CPU

右击服务器属性->高级,设置最大并行度

使用AWE分配内存

AWE是Windows的内存管理功能的一组扩展,它使应用程序能够使用的内存量超过通过标准32位寻址可使用的2~3GB内存。64位系统,是否开启,则影响不大。

False,不开启

右击服务器属性->内存->服务器内存选项,确认前面没有被勾上

最大工作线程

max worker threads

SQL Server 可以为大量的客户端连接创建一个工作线程池,这将提高性能,当服务器上连接有大量客户端时,线程池有助于优化性能。一般情况下,为每一个客户端连接创建一个独立的操作系统线程可占用较少的系统资源。但是,当服务器上具有数以百计的连接时,每个连接使用一个线程就可能占用大量的系统资源。

 

右击服务器属性->处理器,设置最大工作线程数

轻量池

Lightweight Pooling

可以减少有时在对称多处理 (SMP) 环境下遇到的、与过多的上下文切换有关的系统开销。 如果出现过多的上下文切换,轻型池可以通过上下文切换内联化,从而降低用户/内核环的转换频率,达到提高吞吐量的目的。

原则上不得调整轻量池的默认值。默认不启动

右击服务器属性->处理器,确认选项:使用windows纤程(轻型池)是否被勾上

优先级提升

Priority Boost

可以指定 Microsoft SQL Server 是否应当以比相同计算机上的其他进程更高的 Microsoft Windows 2000、Windows Server 2003、Windows 2008 或 Windows 2008 R2 计划优先级运行。

对于正处于对外服务状态的MS SQL群集服务器,必须确保未使用优先级提升。默认值为 0,其优先级基数为 7。

右击服务器属性->处理器,

确认选项:提升SQL Server的优先级是否被勾上

设置工作集大小

Set Working Set Size

通过配置选项来管理和优化 SQL Server 资源

必须使用工作集大小的默认设置,默认值为 0。

在查询分析器中执行以下语句:

USE master

GO

EXEC sp_configure \'set working set size\';

AUTO_CREATE_STATISTICS

自动为没有用于谓词的索引的列创建统计信息。

建议关闭

连接数据库->右击数据库属性->选项->其他选项->自动

AUTO_UPDATE_STATISTICS

自动更新统计信息

建议关闭

 

8.1.2 其他检查点

其他检查点

查看方法

确认数据文件(文件类型为行数据)和日志文件(文件类型为日志)的位置,以及二者是否分开

连接数据库->右击数据库属性->文件

确定数据库数据文件个数

连接数据库->右击数据库属性->文件

注意TEMPDB的数据文件的个数、大小以及是否设为自增长

连接数据库->数据库->右击tempdb属性->文件

必须将Lock Page In Memory权限赋予SQL Server的启动
账号,以减少频繁内存换页引起的性能成本

择开始菜单->运行->gpedit.msc->启动组策略配置->计算机配置->windows设置->本地策略->用户权限分配->将页锁定在内存->添加用户或组。

数据库自增长大小设置:自增长以必须以MB为单位,不得用Percent为单位。

连接数据库->右击数据库属性->文件

必须数据库确保未启用AutoShrink和AutoClose选项。该选项会严重影响MS SQL的性能。

连接数据库->右击数据库属性->选项->其他选项->自动

查看数据库日志文件大小

执行SQL命令“dbcc sqlperf(logspace)”,这里默认列出所有数据库的日志文件大小,从查询结果集中的“Database Name”列找到被测数据库并查看日志文件大小及使用情况

8.2 Informix

8.2.1 基本信息

所属章节

配置

描述

默认值

 

版本

描述数据库版本信息

 onstat -

 

在onconfig下的CPU-Related Configuration Parameters章节里面

 

NOAGE

使操作系统不降低oninit进程执行的优先级,防止oninit进程由于长时间运行而在操作系统的优先级降低,从而得不到足够的CPU资源。可参照$INFORMIXDIR/release/en_us/0333/ids_machine_notes_<version>.txt中的说明,如果操作系统支持,则设为1,否则设为0。

 

SINGLE_CPU_VP

定义运行事件数据库服务器的虚拟处理器的数目

onconfig 文件设置推荐值:SINGLE_CPU_VP 1

VPCLASS

数据库服务器应启动的虚拟处理器数

,可以用onmode -p命令为类添加虚拟处理器

onmode -p (+/-)#来增加或者减少虚拟处理器。#代表增加或者减少虚拟处理器的个数。

在onconfig下的Optimizer Configuration Parameters章节里面

OPTCOMPIND

帮助 Informix 数据库优化器选择最佳的数据访问方法。

onconfig 文件设置推荐值:OPTCOMPIND 1  标志位,无单位

 在onconfig下的Network Configuration Parameters章节里面

NETTYPE

定义了Informix IDS的连接类型和连接可以连接的轮询线索数目。

NETTYPE的配置格式如下:NETTYPE connection_type,oll_threads,c_per_t,vp_class

在onconfig下的Shared Memory Configuration Parameters章节里面

 

 

SHMVIRTSIZE

指定 Informix 数据库服务器共享内存的虚拟部分的初始大小。

一般考虑能满足一个日常操作的需要。常驻内存1/4或 1/8

SHMADD

指定将动态添加至 Informix 通用服务器共享内存的虚拟部分的内存段的大小。

如果实际内存小于等于 256MB,则建议使用缺省值 8192KB;如果在 256MB 到 512MB 之间,则设置为 16384KB;如果大于 512MB,则设置为32768KB。

RESIDENT

如果操作系统支持内存段的强制驻留,则指定 Informix 的共享内存的驻留部分不能被操作系统交换。通过不允许驻留部分被交换出,事件数据库中包含的数据保留在内存中,而不是交换至磁盘,因此性能改善。如果操作系统不具有强制驻留选项,Informix 通用服务器发出错误消息并随后忽略该参数。RESIDENT 值应当设置为 1。

onconfig 文件设置推荐值:RESIDENT 1

标志位,无单位

在onconfig下的Buffer pool and LRU Configuration Parameters章节里面

BUFFER

POOL

 

设置每个Buffer Pool的缓冲区及LRU队列。

onconfig 文件设置推荐值:BUFFERS 200KB

 

在onconfig下的Parallel Database Query (PDQ) Configuration Parameters章节里面

 

 

DS_MAX_QUERIES

可以并发运行的 PDQ 查询的最大个数。也即同一时刻大于 0 的 PDQ 查询的总数不能超过 DS_MAX_QUERIES

默认值: CPU VP * 2 * 128

onconfig 文件设置推荐值:DS_MAX_QUERIES 10MB动态修改: onmode -Q

DS_MAX_SCANS

指定判定支持查询可以并行运行的并行数据库查询扫描线程数目限制。

onconfig 文件设置推荐值:DS_MAX_SCANS 20MB

DS_TOTAL_MEMORY

指定应当用于并行数据库查询的 Informix 通用服务器内存总百分比。

onconfig 文件设置推荐值:DS_ TOTAL_MEMORY 50动态修改: onmode -M

MAX_PDQPRIORITY

PDQ 可获取的最大资源的百分比

范围: 0至100

初始值:有 = 100动态修改: onmode -D

在onconfig下的Scan Configuration Parameters章节里面

 

RA_PAGES

定义顺序扫描数据或索引表期间之前首先尝试读取的磁盘页数目

onconfig 文件设置推荐值:RA_PAGES 10P

RA_THRESHOLD

定义用信号通知事件数据库服务器将更多页读入内存之前,内存中尚未处理的磁盘页的数目

onconfig 文件设置推荐值:RA_ THRESHOLD 5P

在onconfig下的AIO and Cleaner-Related Configuration Parameters章节里面

VPCLASS AIO

VPCLASS aio,num=2告知Informix启动两个oninit流程来执行磁盘异步I/O (AIO) 处理

onconfig 文件无默认值

onconfig下的SQL Statement Cache Configuration Parameters章节

STMT_CACHE

是否开启SQL语句高速缓存:

0- 关闭

1- 在单个用户将 STMT_CACHE 环境变量设置为 1 或在应用程序中执行 SET STATEMENT CACHE ON 语句时,为该用户使用SQL语句高速缓存;

2- 对所有用户开启语句高速缓存

默认为0,关闭

 

STMT_CACHE_HITS

指定放入高速缓存中的条目需命中的次数(称为命中数)。

设置为 0 时,如果高速缓存的当前大小不会超过内存限制,那么数据库服务器将SQL语句插入高速缓存。

>0时,

 

STMT_CACHE_SIZE

高速缓存大小,单位为KB

    注:STMT_CACHE_SIZE * STMT_CACHE_NUMPOOL 的缓存容量不能超过:SHMVIRTSIZE 的大小

 

STMT_CACHE_NUMPOOL

高速缓存的POOL 数

范围:1~256

查看磁盘空间的使用情况

Onstat -d

直接使用命令“onstat –d”可以查看各分片对应dbs的空间情况,输出包括DBSPACE和CHUNK的两部分信息

一个dbspace对应多个chunk,dbspace部分的信息中包含自己的id,对应的第一个chunk的chunkid,chunk的数量,通过chunk中的“chk/dbs”字段可以相互对应起来。

查看日志文件情况

Onstat –l

直接使用命令“onstat –l”查看日志的使用情况,其中%used表示使用百分比

 

 

8.2.2 查看方法

连接到数据库服务器,在命令行输入env(环境变量),查看config文件名称,如下图:

 

进入informix安装路径下的etc目录(命令行输入cd Informix ->cd etc),输入more onconfig.spdbnb查看参数。

8.3 Oracle

8.3.1 基本配置

类别

配置

描述

默认值

 

版本

描述数据库版本信息

连接数据库输入select * from product_component_version;

内存

java_pool_size

用于存放java代码,对于大的应用,java_pool_size应>=50M,对于一般的java存储过程,缺省值为20M,若不使用java,建议设置为30M

512MB

large_pool_size

如果不设置MTS,通常在RMAN、OPQ会使用到,但是在20M-5-M应该差不多,可以考虑为session*(sort_area_size+2M)

512MB

log_buffer

日志缓冲区大小

30M(批量系统可适当增大)

memory_target

Oracle 所能使用的最大内存值

0

memory_max_target

设定Oracle能占系统多大的内存空间

0

page_aggregate_target

所有session总计可以使用的最大PGA内存:
1、对于OLTP系统:page_aggregate_target=(<Total Physical Memory>*80%)*20%
2、对于DSS系统:page_aggregate_target=(<Total Physical Memory>*80%)*50%
此参数需配合workarea_size_policy=auto来实现自动PGA管理

10%物理内存

sga_max_size

例程存活期间所占用系统全局区的最大大小

建议值为物理内存的40%

Shared_pool_size

指定共享池的大小

3000M

sga_target

SGA_TARGET 指定了SGA 可以使用的最大内存大小,而SGA 中各个内存的大小由Oracle自行控制,不需要人为指定。Oracle 可以随时调节各个区域的大小,使之达到系统性能最佳状态的个最合理大小,并且控制他们之和在SGA_TARGET 指定的值之内

默认为0 ,即没有启动自动共享内存管理

Streams_pool_size

流池的大小(建议不小于200M),如果设置了sga_target,该参数可由系统自动调节

256MB

pre_page_sga

通过修改lock_sga和pre_page_sga参数可以保证SGA不被换出到虚拟内存,进而可以提高SGA的使用效率。

当lock_sga参数设置为TRUE时(默认值是FALSE),可以保证整个SGA被锁定在物理内存中,这样可以防止SGA被换出到虚拟内存。只要设置lock_sga=TRUE便可保证SGA被锁定在物理内存中,这里之所以顺便将pre_page_sga参数也设置为“TRUE”,是因为这样可以保证在启动数据库时把整个SGA读入到物理内存中,以便提高系统的效率(虽然会增加系统的启动时间)。WINDOWS不能设置lock_sga=true,可以通过设置pre_page_sga=true,使得数据库启动的时候就把所有内存页装载,这样可能起到一定的作用。

 

 

lock_sga

 

数据库

archive_lag_target

通过时间限制,指定数据库强制进行日志切换,进行归档。

1200秒

db_files

可为该数据库打开的数据文件的最大数量

较小的系统一般可设置为500,较大的系统设置成1000或更大

db_block_buffers

(数据高速缓冲区)访问过的数据都放在这一片区内存区域,该参数越大,Oracle在内存中找到相同数据的可能性就越大,即加快了查询速度

建议值32768

db_block_size

(数据库块大小,以字节计):Oracle默认块为2KB,太小了,因为如果有一个8KB的数据,则2KB块的数据库要读4次盘才能读完,而8KB块的数据库只需要1次就读完了,大大减少了I/O操作。数据库安装完成后就不能再改变db_block_size的值了,只能重新建立数据库并且建库时,要手工安装数据库

建议8K=8129

db_writer_processes

一个例程的数据库写进程的初始数量。

较大值(1或CPU核数的1/8)
10.2中最大为20,11.2中最大为36

db_cache_size

指定数据缓冲区的大小

剩余的SGA

filesystemio_options(仅在文件系统方式下设置)

文件IO方式

SETALL

nls_characterset(nls_language)

用于char,VARCHAR2,长而CLOB列

建议ZHS16GBK

nls_nchar_characterset

用于nchar,及NCLOB类型的列

建议AL16UTF16

open_cursors

指定一个会话一次可以打开的游标 (环境区域) 的最大数量,并且限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小,以避免用户再次执行语句时重新进行语法分析。请将该值设置得足够高,这样才能防止应用程序耗尽打开的游标。

建议2000

parallel_execution_message_size

指定并行执行 (并行查询、PDML、并行恢复和复制) 消息的大小。如果值大于 2048 或 4096,就需要更大的共享池。

16384

parallel_max_servers

指定一个例程的并行执行服务器或并行恢复进程的最大数量。如果需要,例程启动时分配的查询服务器的数量将增加到该数量。

10*CPU核数,且<=80

processes

指定可同时连接到一个 Oracle 服务器上的操作系统用户进程的最大数量

>=1000应比应用服务器连接数大100~200

resource_limit

确定是否在数据库概要文件中实行资源限制。

TRUE

session_cached_cursors

指定要高速缓存的会话游标的数量。对同一 SQL语句进行多次语法分析后,它的会话游标将被移到该会话的游标高速缓存中。这样可以缩短语法分析的时间,因为游标被高速缓存,无需被重新打开。

建议300

timed_statistics

建议设置为ture,否则无法查看准确的统计信息(9i版本后设置为ture对系统性能影响较小,千分之一)

TURE

undo_retention

撤销保留时间的大小

10800秒

 

8.3.2 查看方法

登录服务器->切换成oracle用户->连接数据库->导出config文件->查看参数。

相关语句:

#Su – oracle

#Sqlplus /nolog

#Conn / as sysdba

#Spool /oracle/app/文件名.lst

#Show parameter

#Spool off

#Exit

#Su – root

#输入密码

#Cd oracle

#Cd app

#More文件名.lst

 

8.3.3 其他检查点

数据库文件和表空间配置如下

查看方法

具体操作

查询表空间的free space

执行下面的SQL语句:

select tablespace_name,

count(*) as extends,

round(sum(bytes)/1024/1024,2) as MB,

sum(blocks) as blocks

from dba_free_space group by tablespace_name;

查询表空间的总容量

执行下面的SQL语句:

select tablespace_name,sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name;

查询表空间使用率

执行下面的SQL语句:

select  

          total.tablespace_name,  

          round(total.MB,2) as Total_MB,  

          round(total.MB-free.MB, 2) as Used_MB,  

          round((1-free.MB/total.MB)*100, 2) as Used_Pct  

         from  

       (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_free_space group by tablespace_name) free,  

       (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name) total  

   where      free.tablespace_name=total.tablespace_name;  

日志文件查看

oracle的日志文件有几种:警告日志,trace日志,audit日志,redo日志,归档日志

警告日志:也就是alert log,在系统初始化参数文件设置的background_dump_dest对应的就是它的位置。

trace日志:一般放seesion追踪的信息,对应系统初始化参数文件参数user_dump_dest

对应的就是它的位置。

audit日志:审计的信息,对应系统初始化参数文件参数audit_file_dest

对应的就是它的位置。

redo 搜索日志:存放数据库的更改信息和路径:

SQL> select * from v$logfile;

归档日志:redo日志的历史备份,select * from v$parameter where name like \'log_archive_dest%\'; 它的value的值就是位置

 

表空间名称

命名规范

数据文件大小

自动扩展

SYSAUX

sysaux01.dbf

4000M

ON

SYSTEM

system01.dbf

4000M

ON

TEMP

temp+序号.dbf

8000M

OFF

UNDO

undo+序号.dbf

8000M

OFF

USER

user01.dbf

1000M

ON

 

8.4  Sybase

8.4.1 基本配置

所属模块

配置

描述

默认值

 

版本

描述数据库版本信息

 

SQL Server Administration

Runnable process search count:

该值确定数据库在释放CPU给操作系统之前,查找可运行任务的引擎的循环次数。在执行队列中没有可执行任务时,该引擎可以释放CPU给操作系统或继续查找可执行任务。runnable process search count的值越高,引擎就会循环更多次,因此可长期占用CPU。该值设置的越小,引擎则会尽快的释放CPU。

2000

建议:设置为10

User Enviorment

数据库连接

number of user connections

设置数据库同时可接受用户连接

开发版本默认值为25

Named Cache:default data cache

local cache partition number

关注用户值的覆盖

 

Physical Memory

max memory

设置最大可用物理内存

 

additional network memory

设置为大包连接提供的最大内存空间

0

Processors

max online engines

最大的在线搜索引擎

1

number of engines at startup

配置启动时运行的引擎数量

1

 

8.4.2 查看方法

查看方法

具体操作

版本

select @@version

命令行查看

使用数据库客户端连接数据库,使用sp_configure查看配置,示例如下:
sp_configure ‘runnable process search count’//查看runnable process search count配置值
sp_configure ‘number of user connections’//查看number of user connections,结果中Default列即为默认连接数大小

配置文件查看

查看数据库配置文件,以Sybase ASE12.5为例,配置文件默认存放路径为:/sybase/ASE-12_5/数据库名.cfg。
根据所属模块儿,查找相应配置,例如:number of user connections在[User Enviorment]章节,runnable process search count在[SQL Server Administration]章节。

数据库日志使用情况

输入下面命令:

1> dbcc checktable(syslogs)

2> go

其他命令:

1> sp_helpdb [dbname]

2> go

--sp_helpsegment logsegment查看日志和数据各占了整个数据库多少

1> sp_helpsegment logsegment

2> go

8.5  DB2

8.5.1 基本配置

所属模块

配置项

描述

默认值

环境变量

DB2CODEPAGE

字符集

未设置,可选设置

DB2COMM

通信协议

未设置

DB2COUNTRY

 

未设置,可选设置

DB2_PARALLEL_IO

并行度

未设置,可选设置

DB2_COMPATIBILITY_VECTOR

打开oracle兼容性

未设置,可选设置

DB2_DEFERRED_PREPARE_SEMANTICS

打开oracle兼容性

未设置,可选设置

实例信息

MON_HEAP_SZ

数据库系统监视器堆大小配置参数

AUTOMATIC(90)

HEALTH_MON

关闭健康监控器

OFF

SVCENAME

实例监听端口

50000

MAX_COORDAGENTS

最大协调agent

AUTOMATIC(200)

MAX_CONNECTIONS

最大连接数

AUTOMATIC(MAX_COORDAGENTS)

SYSMON_GROUP

数据监控权限参数

未设置,可选设置

AUTHENTICATION

认证类型

SERVER

DIAGPATH

诊断日志路径

/home/glsinst/sqllib/db2dump/

数据库信息

LOCKLIST

锁定列表的最大存储量配置参数

AUTOMATIC(868288)

MAXLOCKS

升级之前锁定列表的最大百分比配置参数

AUTOMATIC(97)

SHEAPTHRES_SHR

排序堆阈值配置参数

AUTOMATIC(395324)

SORTHEAP

排序堆大小配置参数

AUTOMATIC(79064)

LOGBUFSZ

日志缓冲区大小配置参数

10240

LOCKTIMEOUT

锁超时时间设置

30

NEWLOGPATH

活动日志目录

未设置,可选设置

LOGFILSZ

日志文件大小

60000

LOGPRIMARY

主日志文件个数

15

LOGSECOND

辅助日志文件个数

10

LOGARCHMETH1

归档日志目录

OFF

SOFTMAX

数据库checkpoint设置

520

REC_HIS_RETENTN

指定将保留有关备份的历史记录信息的天数

30

AUTO_MAINT

自动维护

OFF

8.5.2 查看方法

查看方法

具体操作

版本

输入下面命令:

Db2

Connect to 数据库名

输出举例:

Database server  = DB2/AIX64 10.1.2

环境变量

输入下面命令:env |grep DB2

输出举例:

DB2LIB=/home/glsinst/sqllib/lib

DB2_HOME=/home/glsinst/sqllib

DB2INSTANCE=glsinst

部分信息(如DB2CODEPAGE)可从下面的“数据库信息”部分获取

实例信息

(Database Manager Configuration)

输入下面命令:

db2 get dbm cfg

 

针对单个配置项,请配合grep命令进行过滤

数据库信息

(Database Configuration for Database)

输入下面命令:

db2 get db cfg for 数据库名

针对单个配置项,请配合grep命令进行过滤

 

 

目的

为保证性能测试结果准确、可用,需在性能测试正式执行前对测试环境配置进行确认。本文对系统不同层次的的配置项进行了整理,梳理了可能引起系统性能差异的主要配置项,相关人员可通过本文的建议,对测试环境进行确认,进一步规避测试环境不一致引起的风险。

适用范围

本指南适用于由系统测试处负责实施的性能测试项目。

适用人员

测试经理、性能测试人员、性能测试实施相关的项目组成员。

 

操作系统

4.1 Windows 

4.1.1 基本配置

配置项

描述

查看方法

机型

若为实体机,描述具体机型,

命令行->dxdiag

若为虚拟机,需描述宿主机机型

项目组提供,集成人员确认

CPU

系统配置的CPU信息:型号、核数、主频等

1、计算机->右键属性或管理

2、命令行->dxdiag

超线程

查看系统是否开启超线程

计算机运行->msinfo32

查看单个CPU核数,确认是否与逻辑CPU个数一致,若一致则表示未开启,否则表示开启

内存

系统配置的物理内存大小

1、计算机->右键属性

2、命令行->dxdiag

存储

存储大小

计算机->管理->磁盘

存储类型和厂家型号,

例如本地磁盘、共享存储,并注明共享存储型号(DMX4SAN等)

需与项目组当面确认,由集成人员负责。

操作系统

描述操作系统版本,并标注32位或64

1、计算机->右键属性

2、 命令行->dxdiag

无关服务开闭要求

如无特殊要求,原则上应禁用以下不必要的服务: Error

Reporting、NetMeeting Remote Desktop Sharing、Remote Access

Auto Connection Manager、Remote Access Connection Manager、

Alerter、Internet Connection Sharing、Messenger、Routing and

Remote Access、Telnet Server;

1、开始—>控制面板—>管理工具—>服务,右击需要关闭的服务,选择停止

网络配置要求

Windows Server 2003 系列应关闭自带防火墙

控制面板—>windows防火墙,选中“关闭”

网卡相关配置

Offloading checksum

设备管理器—>网卡—>高级选项,选择DISABLE

TCP Chimney

禁用服务,将 EnableTCPChimneyEnableRSS、EnableSynAttackProtect 注册表项的值设置为 1

RSS

SyncAttackProtect

时区设置与时间同步要求

Windows Server 服务器除非有特殊需要,必须设置为UTC+8:00

时区

右击右下角的时间,选中日期时间进行设置,最好启用Windows Time 服务,主动与域控制器保持时钟同步。

4.1.2 注册表配置

配置项

路径

描述

默认值

TcpTimedWaitDelay

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

TCP/IP可释放已关闭连接并重用其资源前,需经过的时间。

若在相关路径下未找到该项,则表示为默认情况,值为240秒,如修改,需新增该项REG_DWORD ,并设置为十进制

MaxUserPort

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

确定应用程序可以从系统请求的动态端口数。

若在相关路径下未找到该项,则表示为默认情况。以Windows server 2003为例,默认值为5000

 

4.2  HP-UX

4.2.1 基本配置

配置项

描述

查看方法

机型

若为实体机,描述具体机型,虚拟机需描述宿主机机型

使用命令machinfo

CPU

系统配置的CPU信息:型号、核数等

使用命令machinfo

超线程

查看系统是否开启超线程

1、使用命令:getconf _SC_HT_ENABLED

0表示关闭,1表示开启

2、使用命令:kctune lcpu_attr

查看value的值,0表示关闭,1表示打开

单个CPU开启的线程数

(尚未有环境进行验证)

内存

系统配置的物理内存大小

使用命令: machinfo  

存储

存储大小

使用命令bdf

显示所有已挂载的文件系统以及每个文件系统的信息:文件系统名称,总的磁盘空间,已用的磁盘空间,可用的磁盘空间,磁盘利用的百分率,挂载点

(需事先明确外挂存储盘涉及的文件系统)

存储类型和厂家型号

与项目组确认

操作系统

描述操作系统版本,并标注32位或64

使用命令:machinfo

核心参数

filecache_min:物理内存中拿来作为文件IO缓存的最小值

kctune该命令需要相关权限

 

filecache_max:物理内存中拿来作为文件IO缓存的最大值

4.2.2 系统配置

为提高系统的稳定性,减少系统网络配置上的漏洞,HP UX

统必须关闭如下表所示的网络服务,应用特许需要开启的服务

除外:

服务名称

服务要求

查看方法

Tftp

小型文件传输协议,为操作系统开启的tftp服务,与联想的应用tftp无关

Cd etc

Vi inetd.conf

查看该服务是否被注释

Bootps

引导程序协议服务端

Finger

查询远程主机在线用户等信息

Exec

远程执行协议

Ntalk

通话协议

printer

远程打印

Rpc

远程过程调用

Kshell kerberos

远程命令协议

Klogin kerberos

远程登录协议

time 服务

功能类似命令行调用time命令

echo 服务

功能类似命令行调用echo命令

Sendmail

发送邮件服务

 

Cd /etc/rc.config.d/

Vi mailservs

查看SERVERMAIL_SERVER状态

时区TZ

描述系统当前时区信息,在某些情况下,如调用系统底层localtime函数,在较大并发下,由于时区设置不合理可能引起CPU使用率过高。

各主机系统本身的时区要求统一东8 区(北京时区),即EAT-8

Echo $TZ

 

CDE( 通用桌面环境)设置

考虑到系统的安全性,若应用没有明确需要,必须关闭CDE服务。

建议:关闭

1、命令 ps -ef | grep dtlogin 同时查看网络端口是否开启:netstat -an | grep 177

2、查看文件 /etc/inittab 中 dt:2:wait:etc/rc.dt条目是否注释

CDE设置若应用没有明确需要,必须关闭CDE 服务,方法如下:

svcadm disable cde-login

4.3 AIX

4.3.1 基本配置

配置项

描述

查看方法

机型

若为实体机,描述具体机型,虚拟机需描述宿主机机型

1、 可使用

方法一:uname –Mu:查看机型IBM,XXXX-XXX

方法二:prtconf:第一行显示System Model,如下:

System Model: IBM,XXXX-XXX

2、 使用以下地址,搜索对应的IBM机型

http://pic.dhe.ibm.com/infocenter/powersys/v3r1m5/index.jsp?topic=/iphdx/9117_MMA_landing.htm

CPU

系统配置的CPU信息:型号、核数等

prtconf:查看CPU型号、物理个数以及主频,

得到如下:

Processor Type: PowerPC_POWER6(型号)

Number Of Processors: 4(物理个数)

Processor Clock Speed: 5008 MHz(主频)

SMT

查看SMT是否开启,以及单个CPU开启的线程数

1、 Smtctl 查看SMT是否开启,以及每个CPU开启的SMT线程个数

得到如下:

This system is SMT capable.

This system supports up to 2 SMT threads per processor.

SMT is currently enabled.

SMT boot mode is not set.

SMT threads are bound to the same physical processor.

proc0 has 2 SMT threads.

Bind processor 0 is bound with proc0

Bind processor 1 is bound with proc0

2、 Bindprocessor 查看逻辑CPU

3、 lsdev -Cc processor 查看可以可用物理CPU

root用户权限)

内存

系统配置的物理内存大小

方法一:Vmstat:查看物理内存大小

方法二:prtconf,得到如下:

Memory Size: 16384 MB

Good Memory Size: 16384 MB

存储

存储大小

df –m :显示逻辑磁盘可用空间及大小

存储具体信息待定

存储类型和厂家型号

需与项目组当面确认,由集成人员负责。

操作系统

描述操作系统版本,并标注32位或64

nmon:查看操作系统版本和位数

4.3.2 系统配置

4.3.2.1 常规配置要求

相关参数

配置项

描述

查看方法

核心参数

 

Swap分区大小

当物理内存小于8G 时,建议swap 初始大小设置为8G;

当物理内存大于8G时,建议swap 初始大小设置为16G;

若物理内存大于32G 时,可根据情况增加swap 的大小,但最大不应超过32G。

命令:

lsps -a 或swap –l

查看hd6的size

 

maxuproc

用户可创建的最大进程数

lsattr -Elsys0 | grep maxuproc

用户参数

limits 参数中默认项

 

该项位于位于/etc/security/limits 文件中,系统初始安装时,可将该文件中default 下的参数设为-1,即无限制。建议:设置如下

default:

fsize = -1

core = -1

cpu = -1

data = -1

rss = -1

stack = -1

nofiles = -1

Vi  /etc/security/limits

网络服务相关配置

tftp

小型文件传输协议,为操作系统开启的tftp 服务。

建议:关闭

1、查看etc/inetd.conf下对应的服务项,若注释则为关闭,若未注释,则表示已启用。

2、可用以下命令:

Lsscr –t 服务名查看状态,其中active表示已启用,inoperative表示禁用。

bootps

用于无盘客户机的bootp服务。

建议:关闭

finger

查询远程主机在线用户等信息

建议:关闭

exec

远程执行协议建议:关闭

ntalk

允许用户相互交谈,除非绝对需要

建议:关闭

printer

远程打印

建议:关闭

rpc

远程过程调用

建议:关闭

kshell kerberos

远程命令协议用于Kerberos

建议:关闭

klogin kerberos

远程登录协议,用于Kerberos

建议:关闭

系统日志要求

/etc/environment文件,该文件为全局环境变量文件,对所有用户生效。

确认文件中是否加入语句 :EXTENDED_HISTORY=ON

该语句为每个用户执行的命令增加时间戳,日志默认仅记录操作命令,增加该语句后,示例:#fc -t -1000d(查看用户最近执行的1000条命令)。

24     2011/04/09  14:34:23 :: lssrc -a|grep ntp

建议:增加该语句

 

Vi  /etc/environment

 

CDE( 通用桌面环境)设置

考虑到系统的安全性,若应用没有明确需要,必须关闭CDE服务。

建议:关闭

1、命令 ps -ef | grep dtlogin 同时查看网络端口是否开启:netstat -an | grep 177

2、查看文件 /etc/inittab 中 dt:2:wait:etc/rc.dt条目是否注释

 

4.3.2.2 针对Oracle数据库配置

针对安装Oracle数据库服务器,需特别关注如下配置项:

所属项

配置项

描述

查看方法

核心参数

Swap分区大小

当物理内存小于8G 时,建议swap 初始大小设置为8G;

当物理内存大于8G时,建议swap 初始大小设置为16G;

若物理内存大于32G 时,可根据情况增加swap 的大小,但最大不应超过32G。

命令:

lsps -a 或swap –l

查看hd6的size

/tmp区

Tmp区大小

df –k | grep /tmp

ncargs

属性决定命令行(包括环境变量)的最大长度。系统通常设为256

建议:>=128

lsattr -EH -l sys0 | grep ncargs

 

maxuproc

用户可创建的最大进程数

建议:>= 16384

lsattr -Elsys0 | grep maxuproc

网络参数

tcp_ephemeral_low

指定要为 TCP 临时端口分配的最小端口号

使用命令:no -a | fgrep ephemeral

建议:

tcp_ephemeral_low=9000

tcp_ephemeral_high=65500

udp_ephemeral_low=9000

udp_ephemeral_high=65500

tcp_ephemeral_high

指定要为 TCP 临时端口分配的最大端口号

udp_ephemeral_low

指定要为 UDP 临时端口分配的最小端口号

udp_ephemeral_high

指定要为 UDP 临时端口分配的最大端口号

 

4.4 Linux

4.4.1 基本信息

配置项

描述

查看方法

机型

若为实体机,描述具体机型,虚拟机需描述宿主机机型

dmidecode | grep "Product Name":查看机器型号,若为虚拟机,宿主机型号需由项目组提供

CPU

系统配置的CPU信息:型号、

核数等

1、 cat /proc/cpuinfo | grep name | uniq查看CPU型号、主频、

2、 cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc l 查看物理CPU个数

3、 cat /proc/cpuinfo |grep "cores"|uniq

查看单个CPU的核数

超线程

超线程是否打开

cat /proc/cpuinfo |grep core

查看结果中2个相邻的Core ID是否相同,若相同代表打开。

内存

系统配置的物理内存大小

1、 cat /proc/meminfo | grep total:查看系统物理内存大小(KB

2、 free –m:Mb为单位显示当前内存大小

存储

存储大小

df k:查看可用存储大小,单位为KB。(需事先明确外挂存储盘涉及的文件系统)

存储类型及型号

需与项目组确认

操作系统

描述操作系统版本,并标注32位或64

cat /etc/issue | grep Linux:查看操作系统版本

4.4.2 系统配置

4.4.2.1 常规配置要求

Linux系统必须关闭如下表所示的网络服务,应用特许需要开启的服务除外:

服务名称

服务描述

查看方法

cups

打印服务

chkconfig |grep  cups

postfix

邮件服务

chkconfig |grep postfix

pcscd

smart卡登录服务

chkconfig |grep pcscd

smartd

磁盘监控服务,对于做过RAID的磁盘无效

chkconfig |grep smartd

4.4.2.2 针对Oracle数据库配置

所属项

配置项

描述

查看方法

核心参数

swap大小

Swap分区大小

free –m | grep Swap

/tmp

临时目录空间

建议:大于1G

df -h /tmp

HugePages配置

大页配置,HugePages是linux内核的一个特性,使用hugepage可以用更大的内存页来取代传统的4K页面

建议:启用

cat /proc/meminfo | grep HugePages

示例:示例:

AnonHugePages:     10240 kB

HugePages_Total:    3411

HugePages_Free:     2998

HugePages_Rsvd:     1636

HugePages_Surp:        0

其中,HugePages_Total非0说明已启用大页

Limits参数

nproc/max user processes(ulimit -a命令显示)

进程的最大数目

1、vi /etc/security/limits.conf

示例:

oracle  soft    nproc   2047

oracle  hard    nproc   16384

 

说明:以上表明针对Oracle限制,若为*则表明对所有用户生效。soft/hard  软限制/硬限制  soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。

2、ulimit -a

显示shell 启动进程所占用的资源的限制

注:ulimit a显示值为limits文件中对应项配置soft限制值。

nofile/open files(ulimit -a命令显示)

打开文件的最大数目

stack/stack size(ulimit -a命令显示)

最大栈大小

Memlock/max locked memory(ulimit -a命令显示)

最大锁定内存地址空间

示例:

 

Linux 内核及网络配置

kernel.shmall

控制共享内存页数,单位为页。该参数大小为物理内存除以pagesize。

可通过getconf PAGESIZE命令获取系统页大小,默认为4096(4K), 假设一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304 (页)。

vi /etc/sysctl.conf

示例:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 4194304

kernel.shmmax = 8589934592

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

 vm.nr_hugepages = 6144

说明:#为注释配置,即无效。

kernel.shmmax

用于定义单个共享内存段的最大值,单位为字节。shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降 。

建议:Oralce 建议SHMMAX > SGA(SGA_MAX_SIZE),这样在任何时候都不会有甚至轻微的性能下降的隐患。

Kernel.shmmni

共享内存段的最大数量。

系统默认为4096,一般无需修改。

 

vm.nr_hugepages

指明了内存页数,如果设置大内存页为100G,则vm.nr_hugepages的大小为70G×1024×1024/2048K=35840

fs.file-max

文件句柄数,表示在Linux系统中可以打开的文件数量。

建议:为512 乘以processes。如128个process,则file-max=512*128=65536。

net.ipv4.ip_local_port_range

应用程序可使用的IPv4端口范围。

 

Web

5.1 IIS

5.1.1 基本信息

配置

路径

描述

默认值

图形界面查看

配置文件查看

版本

 

描述IIS版本信息

 

IIS管理器-帮助-关于

 

队列长度

IIS高级设置->常规->队列长度

该值限制在特定时间内可在队列中等待的应用程序池请求的最大数量,若达到此限制,则新请求都将被拒绝,用户收到错误信息“503-服务不可用”

1000,建议将该值设置为预期最多用户数的1.5倍

应用程序池默认配置:IIS信息服务管理器->点击应用程序管理池->右边栏设置应用程序池默认设置及高级设置选项。

 

亦可直接查看IIS配置文件相关项,配置文件具体路径为:C:\WINDOWS\system32\inetsrv\MetaBase.xml

最大工作进程数

IIS高级设置->进程模型->最大工作进程数

设置处理对应用程序池的请求的最大工作进程数,该值对应后台的w3wp进程个数,>1时将启动多个进程进行处理。

1

最大专用内存

IIS高级设置->回收->最大专用内存

单位为KB,设置每个工作进程可用的最大内存大小,若超过该限制,将发生内存回收。

 

 

 

 

禁用重叠回收

IIS高级设置->回收->禁用重叠回收

默认情况下,应用程序池使用重叠回收方式。在这种方式下,当应用程序池要关闭某个工作进程时,会先创建一个工作进程,直到新的工作进程成功创建后才关闭旧的工作进程;应用程序池也可以先关闭旧的工作进程,然后再创建新的工作进程。

若Web应用程序不支持多实例运行,需配置应用程序池禁止使用重叠回收。

False

回收工作进程(分钟)

IIS高级设置->回收->回收工作进程

在工作进程运行多少分钟后回收工作进程,默认启用。

1740分钟(29小时)

 

连接超时时间

IIS高级设置->网站限制

服务器断开非活动用户之前就保持连接的时间长度(以秒为单位)。

90秒

 

会话超时时间

IIS ->网站->会话状态

服务器断开超过会话时间的连接

20分钟

 

在下列时间回收工作进程

IIS高级设置->回收->在下列时间回收工作进程

在指定时间回收工作进程,默认禁用。使用24小时制定义回收时间。

 

禁用

 

UriScavengerPeriod

文件存放位置:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

会定期扫描Http.sys缓存,在两次扫描期间没有被访问过的条目将被删除。

设置为一个较高的值可以减少扫描次数。但是访问频率低的老条目仍然保留在缓存中,缓存占用的内存将不断增加。如果设置得过低,扫描频率会过于频繁,而且可能导致缓存的过度清洗和扰动

120秒

 

修改注册项

5.1.2 组件确认

IIS6应用程序服务器安装组件列表下级组件

是否必须安装

缺省设置

推荐设置

备注

应用服务器管理界面

启用

启用

 

ASP.NET

禁用

禁用

对于静态页面服务器,ASP.NET可选。

启用网络COM+访问

启用

禁用

对于静态页面服务器,COM+可选。

启用网络DTC访问

禁用

禁用

对于静态页面服务器,DTC可选。

Internet Information Services (IIS)

启用

启用

WEB服务器基本功能,必选。

消息队列

禁用

禁用

对于静态页面服务器,消息队列可选。

 

IIS组件选择列表下级组件

是否必须安装

缺省设置

推荐设置

备注  

Background Intelligent Transfer Service (BITS)

禁用

禁用

针对后台文件传输功能,除非有特殊要求。

Server Extensions  Common Files

启用

启用

 

File Transfer Protocol (FTP) Service

禁用

禁用

除非有特殊要求,否则不启用

FrontPage 2002 Server Extensions

禁用

禁用

提供FrontPage支持

Internet Information Services Manager

启用

启用

IIS管理界面

Internet Printing

禁用

禁用

提供互联网打印功能

NNTP Service

禁用

禁用

新闻组功能

SMTP Service

启用

禁用

邮件功能

World Wide Web Service

启用

启用

 

 

World Wide Web Service的下级组件 子组件

是否必须安装  

缺省设置

推荐设置

备注

Active Server Pages

禁用

禁用

提供ASP网页支持

Internet Data Connector

禁用

禁用

提供IDC文件支持

Remote Administration (HTML)

禁用

禁用

提供IIS的HTML管理界面

Remote Desktop Web Connection

禁用

禁用

提供远程桌面的web连接

Server-Side Includes

禁用

禁用

服务器端文件嵌入功能支持

WebDav Publishing

禁用

禁用

支持以文件浏览方式访问web服务器

World Wide Web Service

启用

启用

提供web功能

 

静态网页服务器IIS7安装组件列表IIS 模块名

是否必须 安装

缺省设置

推荐设置

备注

静态内容

启用

启用

允许 Web 服务器发布静态 Web 文件格式。

默认文档

启用

启用

允许配置网站的默认页。

目录浏览

禁用

禁用

允许浏览网站目录的内容。

HTTP 错误

启用

启用

在响应上设置错误状态代码时发送默认和配置的HTTP 错误消息。

HTTP 日志记录

启用

启用

允许记录网站活动。(建议移动IIS日志目录到非系统盘)

日志记录工具

启用

启用

提供用于管理服务器日志和自动执行常见日志记录任务的基础结构。

备注:2008下查看方法需补充

5.1.3 其他

配置项

描述

查看方法

HTTP压缩功能

建议保持缺省设置:启用静态内容压缩功能

IIS信息服务管理器->选取一个具体网站—>在中间页面,查看IIS->点击压缩项

IIS7的“输出缓存”设置

如无特殊情况,建议采用“
内核模式缓存”来提高网站速度,并选择“使用文件更改通知”。建议将输出缓存应用于静态内容。

Ø IIS信息服务管理器->选取一个具体网站—>在中间页面,查看IIS->点击输出缓存项

计划时间和内存使用率的2种回收方式

 

参见基本信息

内存使用率

建议设置为不超过最大物理内存的70%

参加基本信息最大专用内存。

应用程序池”LogEventOnRecycle”
属性回收事件记录

 

IIS高级设置->回收->生成回收事件日志条目

5.2 Apache

配置项

描述

默认值(建议值)

查看方法

版本

精确到XX.X.X

 

1.linux进入/xxx/xxx/HTTPServer/bin,命令httpd -v 查看,AIX未成功

2.unix:  查看/xxx/xxx/HTTPServer/version.signature
3.windows 一般apache安装目录名直接可以看出版本信息

HostnameLookups

通过DNS获取请求客户的机器名

off提高性能

一般配置文件地址为:
xxx/xxx/apache目录/conf/httpd.conf,打开配置文件后,搜索对应的配置项即可

AllowOverride

为每个虚拟目录设置对 URL 进行重写的时候,rewrite规则会写在 .htaccess 文件里。

为提供性能,一般设置为None

DirectoryIndex

虚拟目录中的默认起始页面

按照实际配置可提供性能

EnableMMAP

在递送中使用内存映射(memory-mapping)来读取文件

开启会提供性能,但某些操作系统和文
件系统上会有问题

EnableSendfile

使用操作系统内核的sendfile支持来将文件发送到客户端

这个sendfile机制避免了分开的读和写操作以及缓冲区分配,
但是在一些平台或者一些文件系统上,最好禁止这个特性来避免一些问题

KeepAlive

是否保持连接

 

MaxKeepAliveRequests 1000

一个连接可以最多发送多少次请求

 

KeepAliveTimeout

保持连接的超时时间

 

MPM

是否编译时使用了MPM(多进程模块),主要包括prefork和worker方式

 

Module扩展

启用的Module扩展,如php,weblogic,根据配置文件中的LoadModule和
系统部署架构确定

 

StartServers

由主进程生成的子进程的个数

 

ThreadsPerChild

每个子进程的线程数

 

ServerLimit

最大的进程数

 

MaxClients

最大的连接数

 

MinSpareThreads 

最小的空闲线程数

 

MaxSpareThreads 

最大的空闲线程数

 

 

 

中间件

6.1 Weblogic

6.1.1 基本配置

WebLogic主要关注:服务器信息、执行线程、JDBC连接池三部分内容,主要配置项如下:

类型

配置项

描述

默认值

 

版本

Weblogic版本信息

服务器信息Server

-client、-server

这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性能。

windows环境下,缺省为client模式,

在Linux,Solaris上缺省采用server模式。

启用本机I/ONativeIOEnable

True,表示该server使用本地I/O

 

套接字读取器(SocketReaders

设置在执行线程中专用做SocketReaders的百分比。

 

最大打开套接字数(MaximumOpenSockets

在给定时间点内允许在服务器中打开的最大套接字数,达到最大阀值时,服务器将停止接收新请求,直到套接字数下降至阀值内,值小于0表示无限制。

Windows环境下该值为0

粘滞线程最长时间(StuckThreadMaxTime

在服务器认为某线程已粘滞之前,线程必须连续运行的时间(秒),超过这个时间没有返回的执行线程,系统将认为是堵塞线程,若weblogic认为某个队列中所有的线程全部堵塞,weblogic将会增加执行线程的数量

Windows下取0

粘滞线程计时器间隔(StuckThreadTimerInterval

系统查看粘滞线程的时间间隔。

默认为0666

内存不足GC阀值(LowMemoryGCThreshold

当可用内存小于该百分比时,启动垃圾回收,并将服务器内存不足警告记录在日志文件中并且将服务器健康状况更改为警告。

 

接收积压(AcceptBackLog

针对服务器的常规和SSL端口,等待队列中最多可以有多少TCP连接等待处理。如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设置的过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

默认为50

执行线程

 

执行线程数(ThreadCount

服务器初始创建的执行线程的数量,设置原则:增大机器的最大并发线程数,可以使处理器的利用率达到最大。对于服务器端操作比较多的线程,应该减少线程计数;对于客户端操作比较多的,应该增加线程计数。((并发线程数理论上等于“本地主机CPU个数+Stuck线程数”,应根据实际情况设置,过大可能导致性能下降))

 

最大执行线程数(ThreadsMaximum

服务器支持的最大执行线程数量(执行队列的配置对weblogic性能比较重要,活动执行线程、执行线程总数、空闲线程总数、队列长度值可以作为判断是否需要对执行线程进行调整的参考,根据经验值,一颗CPU可以配置25-30之间的执行线程)

该值在不同模式下,默认值不同。开发模式下,默认15 Threads,生产模式下,默认25 Threads

JDBC连接池

初始容量(InitialCapacity

创建JDBC连接池时建立的物理连接数,此连接数页是连接池将保持的最小可用物理连接数

 

最大容量(MaxCapacity

JDBC连接池中可容纳的最大物理连接数。

该值在不同模式下,默认值不同。开发模式下,默认15 connections,生产模式下,默认是25 connections

容量增长(CapacityIncrement

将新连接添加到连接池时创建的连接数,即当没有可用的物理连接来满足连接请求时,weblogic Server会创建该数量的附加物理连接并将它们添加到连接池中。 

 

语句高速缓存类型(Statement Cache Type

主要用于维护存储在语句高速缓存中的预定义语句的算法。Prepared statement缓存的策略,LRU算法在有新的语句到来时,将最不经常用的语句调整出缓存;FIXED算法为先进先出。

 

语句高速缓存大小(Statement Cache Size

存储在告诉缓存中的预定义语句和可调用语句的数量。Weblogic Server可以重用高速缓存中的语句而无需重新加载它们,这样便可提高服务器性能,连接池中的每个连接都有其自己的语句高速缓存。调整该值的大小,有利于提高系统的效率。

 

 

6.1.2 查看方法

可以通过Weblogic管理控制台和查看配置文件两种方式,对当前Weblogic的参数配置进行查看。

类型

配置项

linux/unix下配置文件查看

所有系统console端查看

 

版本

$BEA_HOME/registry.xml:<component name="WebLogic Server" version="10.3.3.0" InstallDir="/weblogic/wlserver_10.3">

 

服务器信息Server

启用本机I/O(NativeIOEnable)

/domains/DOMAIN_NAME/config/config.xml:<NativeIOEnable></NativeIOEnable>

mydomain
->Servers
->myserver
->Configuration
->Tuning
服务器-->配置-->优化
查看相关项即可

套接字读取器(SocketReaders)

/domains/DOMAIN_NAME/config/config.xml:<SocketReaders></SocketReaders>

最大打开套接字数(MaximumOpenSockets)

/domains/DOMAIN_NAME/config/config.xml:<MaximumOpenSockets></MaximumOpenSockets>

粘滞线程最长时间(StuckThreadMaxTime)

/domains/DOMAIN_NAME/config/config.xml:<StuckThreadMaxTime></StuckThreadMaxTime>

粘滞线程计时器间隔(StuckThreadTimerInterval)

/domains/DOMAIN_NAME/config/config.xml:<StuckThreadTimerInterval></StuckThreadTimerInterval>

内存不足GC阀值(LowMemoryGCThreshold)

/domains/DOMAIN_NAME/config/config.xml:<LowMemoryGCThreshold></LowMemoryGCThreshold>

接收积压(AcceptBackLog)

/domains/DOMAIN_NAME/config/config.xml:<AcceptBackLog></AcceptBackLog>

执行线程

执行线程数(ThreadCount)

/domains/DOMAIN_NAME/config/config.xml:
<self-tuning-thread-pool-size-min>5</self-tuning-thread-pool-size-min>

mydomain
->Servers
->myserver
->Monitoring
->Monitor all Active Queues

服务器-->监视-->线程

最大执行线程数(ThreadsMaximum)

/domains/DOMAIN_NAME/config/config.xml:
<self-tuning-thread-pool-size-max>15</self-tuning-thread-pool-size-max>

JDBC连接池

初始容量(InitialCapacity)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:
<initial-capacity></initial-capacity>

mydomain
-> JDBC Connection Pools
->Configuration
->Connections

服务->JDBC->数据源->连接池

最大容量(MaxCapacity)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml: <max-capacity></max-capacity>

容量增长(CapacityIncrement)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:<capacity-increment>100</capacity-increment>

语句高速缓存类型(Statement Cache Type)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:<statement-cache-type>LRU</statement-cache-type>

语句高速缓存大小(Statement Cache Size)

/domains/DOMAIN_NAME/config/jdbc/jdbc.xml:
<statement-cache-size>10</statement-cache-size>

 

6.2 Tuxedo

Tuxedo配置文件UBBCONFIG为例,配置文件共分为8节,各节所描述的内容如下:

类型

配置项

描述

默认值

查看方法

 

版本

Tuxedo版本信息

 

*RESOURCES节(必须):与整个系统有关的配置信息

IPKEY

共享内存ID,Tuxedo以此来标识公告板及其他IPC资源

范围32769~262142

HP-UX、Linux类环境下Tuxedo应用系统的所有资源定义均在UBBCONFIG文件中,配置完成后,UBBCONFIG被编译成一个二进制文件TUXCONFIG,系统启动时,将从TUXCONFIG文件读取系统的配置信息。可使用cat命令、vi工具查看文件内容。

Windows环境下,Tuxedo配置文件对应 *.ini文件,具体配置信息如下。

MASTER

主控节点的逻辑名LMID,也可以为该MASER机指定一台备份机

 

UID

Tuxedo管理员用户id,在Unix下即执行tmloadcf的用户ID。

Windows环境下该值为0

GID

TUXEDO管理员用户所在的组id

在Windows下取0

PERM

指定对此IPC资源的存取权限。即任何人都可以对该IPC资源进行存取

默认为0666

DOMAINID

该TUXEDO应用系统的唯一标识

 

MAXACCESSERS

设定在本系统一个节点(一台服务器)上,可以有多少进程访问该系统的公告板

默认为50

MAXSERVICERS

设定系统中最多有多少个Server存在

默认值50

MAXSERVICES

设定系统中最多有多少个Service存在

默认值100

MODEL

部署模式:SHM(单机或者多台服务器但公用一个全局共享内存)、MP(多台服务器但没使用一个全局共享内存)

 

OPTION

LAN(表使用MP部署模式),MIGRATE(表服务可以移植到替代处理器上)

 

SCANUNIT

内部时间间隔单位,单位是秒

默认值10秒

BLOCKTIME

Tuxedo的管理进程BBL定时对它所在的服务器上的Tuxedo系统进行检查,检查超时的事务、超时的客户端连接等。SANITYSCAN指每隔多少个SCANUNIT检查一次,即为12×SCANUNIT(默认10秒)=120秒

默认值12

NOTIFY

交易超时时间,单位是SCANUNIT

默认值6

*MACHINES节(必须):一个Tuxedo应用系统可能跨越多台服务器,在该节中配置与每台服务器有关的信息

LMID

物理处理器名

 

TUXDIR

TUXEDO系统软件安装位置

 

APPDIR

应用服务位置全路径

 

TUXCONFIG

TUXEDO配置文件全路径

 

ENVFILE

环境文件全路径

 

TYPE

指定该服务器类型,当两台服务器类型不同时,在它们之间传送数据要进行编码/解码工作

 

ULOGPFX

指定应用日志文件所在的目录及前缀。

 

 

*GROUPS节(必须):Tuxedo中的服务可被分为多个组,在该节配置与组有关的信息

组名

组的唯一标识符,可以是字母数字

 

GRPNO

组的唯一数字标识符

 

LMID

逻辑机器名

 

*SERVERS节(可选):与Server有关的信息

SRVGRP

服务属于一个在*GROUPS节中定义的服务组名

 

SRVID  

该Server所对应的ID。在组中应该唯一

 

MIN

最少启动的进程数

 

MAX

最多启动的进程数

 

RESTART

如果设成Y,则服务可以重启动

 

GRAC,MAXGEN

在GRACE定义时间之内,服务可以重启动MAXGEN次

 

RCMD

每次服务重启动要执行的一个可执行文件名

 

CLOP

跟随服务启动的其他参数

可在应用服务器的srvinit函数中获取参数。

*SERVICES节(可选):与Services有关的信息

BUFTYPE

任何向该交易的请求,数据应该是此处定义类型

 

SRVGRP

交易所在服务所在的组

 

LOAD

负载因子,表示处理请求的时间,用于计算负载平衡

默认为50

PRIO

优先级

默认为50

其余几节为:

1、 *NETWORK节(可选):与网络有关的信息 

2、 *ROUTING节(可选):配置路由规则 

3、 *NETGROUPS节(可选):与网络分组有关的信息

6.3 WebSphere Application ServerWAS

6.3.1 基本信息

WebSphere Application Serve(WAS)是IBM公司 Java EE 和 Web服务应用程序平台,简称WAS。

本文仅介绍与系统性能相关的配置项,WAS作为java应用程序,也包含JVM相关的配置信息,JVM的内容将在后续章节中单独介绍。

配置项

描述

默认值

版本

描述WAS的版本信息

 

JDBC连接池

资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >连接池属性

最小连接数:10
最大连接数:50

语句高速缓存

资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >WebSphereApplicationServer数据源属性>语句高速缓存大小

10

Web容器线程池WebContainer

服务器>应用程序服务器> (服务器名) >
线程池> WebContainer

最小大小:4
最大大小:50

Web容器传输链

服务器>应用程序服务器> (服务器名) >
web容器传输链WCInboundDefault

最大连接数:20000

超时时间:60s

EJB缓存

服务器>应用程序服务器> (服务器名) > EJB高速缓存设置> EJB缓存设置>高速缓存大小

高速缓存大小:2053
清除时间间隔:3000ms

servlet高速缓存

服务器->server1->web容器设置->web容器->启用servlet高速缓存

关闭

 

6.3.2 查看方法

WAS 7.0版本为例,可通过进入管理控制台方式,查看以上各项配置,截图如下:

版本:

 

JDBC连接池:

 

语句高速缓存:

 

WebContainer线程池:

 

Web容器传输链:

 

EJB缓存:

 

Servlet高速缓存:

 

除通过管理界面查看外,还可以通过查看后台XML配置文件, 在Windows环境下,WebSphere配置文件默认路径为:安装路径/AppServer/profiles/Dmgr01/config/cells下,具体与环境有关。

6.4 MQ

配置

描述

默认值

查看方法

版本

描述MQ版本信息

 

版本:dspmqver2、DefaultQFileSize和DefaultQBufferSize查看方法:针对每一个队列管理器而言,都有一个名为qm.ini的配置文件,在Windows NT/2000平台上,该配置文件以注册表方式存在,可以使用MQ提供的图形界面进行查看。在Linux、Unix类系统下,查看配置文件qm.ini默认路径为/var/mqm/qmgrs/项目队列名称/qm.ini,若配置文件中没有明确说明,即采用默认值。

 

DefaultQFileSize

队列文件的大小

缺省情况下,队列文件在硬盘上的大小最大是320M,最大为1G

DefaultQBufferSize

为每一个队列的非永久性消息保留的内存大小

缺省值是64kb,推荐值是128Kb

MAXDEPTH

最大队列深度,即输入队列中允许的最大消息数。

在 AIX®、HP OpenVMS、HP-UX、Linux®、OS/400®、Solaris、Windows® 和 z/OS 上,指定 0 至 999 999 999 范围内的值。在其他平台上,指定 0 至 640 000 范围内的值。

通过命令行查看,运行MQSeries命令(runmqsc  QMgrName),显示队列的属性(DISPLAY QUEUE(QNAME)),即可查看

MAXMSGL

最大消息长度即输入队列中允许的最大消息长度(以字节计)。

在 AIX、HP OpenVMS、HP-UX、Linux、OS/400、Solaris 和 Windows 上,指定一个在 0 和队列管理器最大消息长度之间的值

应用层

7.1 基本信息

配置

描述

开发平台、语言

描述软件开发平台,例如.Net 、Java等

运行环境

描述软件运行所需的基础环境及相关版本信息,例如.Net Framework 3.5、Jdk1.6等

7.2 日志设置

若使用Log4j或Log4Net日志组件,请确认以下配置:

配置

查看路径

描述

日志级别

Log4j的配置文件有xml 、properties,以xml为例,查找到<level value="WARN" />项,其中level value值为配置的日志级别;

Log4Net配置文件在CS程序,默认App.Config文件,若为BS程序则在web.config添加,查找levelvalue的值。

描述当前记录的日志级别,从优先级由高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL,通常建议只使用以下四个级别:ERROR、WARN、INFO、DEBUG。

 

 

7.3 JVM设置

7.3.1 基本配置

从以下四个方面关注JVM的配置信息:

一、 与堆栈相关的配置项

配置

描述

默认值

-Xms<size>

设置虚拟机可用内存堆的初始大小,缺省单位为字节,该大小为1024的整数倍并且要大于1MB,可用k(K)或m(M)为单位来设置较大的内存数。

例如:-Xms6400K,-Xms256M

初始堆大小为2MB。

-Xmx<size>

设置虚拟机内存堆的最大可用大小,缺省单位为字节。该值必须为1024整数倍,并且要大于2MB。可用k(K)或m(M)为单位来设置较大的内存数。

例如:-Xmx81920K,-Xmx80M

 

缺省堆最大值为64MB。(提示:单纯增加Xmx未必可以提高性能,因为该调整虽然会降低GC的频率,但也增加了每次GC的时间。并且GC运行时,所有的用户线程将暂停,也就是GC期间,Java应用程序不做任何工作)

-Xss<size>

设置线程栈的大小,缺省单位为字节。与-Xmx类似,也可用K或M来设置较大的值。

也可在java中创建线程对象时设置栈的大小,构造函数原型为Thread(ThreadGroup group, Runnable target, String name, long stackSize)。

Stack的大小限制着线程的数量,在相同物理内存下,减小这个值能生成更多的线程。

-Xss参数决定Stack大小,例如-Xss1024K。如果Stack设置不合理就会导致内存溢漏。

通常操作系统分配给线程栈的缺省大小为1MB。

JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。

一般来说,webx框架下的应用需要256K。 若程序有大规模的递归行为,请考虑设置到512K/1M。 一般情况下,256K已经足够大。

-Xmn<size>

指定JVM 中新生代(New/Young Generation)的大小,如: -Xmn256m。

若程序需要比较多的临时内存,建议设置到512M,如果用的少,尽量降低这个数值,一般来说128m/256m足以使用了。

-XX:PermSize=<n>

PermGen Space:全称是Permanent Generation space。就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域。

-XX:PermSize指定JVM中永久代(Permanent Generation)的最小值, 如: -XX:PermSize=32m。

 

-XX:MaxPermSize=<n>

指定永久代的最大值,如: -XX:MaxPermSize=64m

示例:在实际案例中,为解决系统TPS波动,可设定如下:-XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxNewSize=512m

 

-XX:NewRatio=<n>

指定JVM中年老代堆大小与新生代的比例,在使用CMS GC(concurrent mark sweep)的情况下此参数失效 , 如: -XX:NewRatio=2

 

-XX:SurvivorRatio=<n>

指定新生代中Eden Space与一个Survivor Space的堆大小比例。-XX:SurvivorRatio=8, 那么在总共新生代为10m的情况下, Eden Space为8m ,S0和S1分别为1m。

 

-XX:MinHeapFreeRatio=<n>

指定JVM 堆在使用率小于n的情况下,堆进行收缩,在Xmx==Xms的情况下无效。

示例: -XX:MinHeapFreeRatio=30

 

-XX:MaxHeapFreeRatio=<n>

指定JVM堆在使用率大于n的情况下,堆进行扩张,在Xmx==Xms的情况下无效。

示例: -XX:MaxHeapFreeRatio=70

 

-XX:LargePageSizeInBytes=<n>

指定 Java heap 的分页页面大小,示例: -XX:LargePageSizeInBytes=128m

 

二、 GC相关的配置项

配置

描述

默认值

-XX:+UserParallelGC

指定在新生代使用Parallel Collector(并行收集器),暂停应用线程,同时启动多个垃圾回收线程,不能和CMS GC一起使用。 系统吞吐量优先,但是会有较长长时间的应用暂停,后台系统任务可以使用此GC

 

-XX:+UserParallelOldGC、

指定在年老代使用Parallel Collector

 

-XX:ParallelGCThreads=<n>

指定Parallel Collection(并行收集器)时启动的线程个数

默认是物理处理器(Processor)的个数

-XX:MaxTenuringThreshold=<n>

指定一个o对象,经历了n次young gc后将被转移到年老代区。此参数对于Throughput Collector无效,示例如下X:MaxTenuringThreshold=31

Linux64的Java6下默认值是15

-XX-UseAdaptiveSizePolicy

自动选择年轻代区大小和相应的Survivor区比例。

设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议在使用并行收集器时,一直打开。

 

-XX:+UseParNewGC

指定在新生代使用Parallel Collector,是UseParallelGC的GC的升级版本,有更好的性能或者优点,可以和CMS GC一起使用。

 

 -XX:+CMSParallelRemarkEnabled

在使用UseParNewGC的情况下,尽量减少mark的时间。

 

-XX:+UseConcMarkSweepGC

指定在年老代使用CMS GC,GC线程和应用线程并行 (在 init-mark和remark时,暂停应用线程)。应用暂停时间较短,适合交互性强的系统,如web server。

测试中配置这个以后,-XX:NewRatio=4的配置失效了,原因不明。所以,此时年轻代大小最好用-Xmn设置。

 

 -XX:CMSInitiatingOccupancyFraction=<n>

在年老代中,用了n%的比例内存后,开始使用CMS GC做垃圾回收。

示例:XX:CMSInitiatingOccupancyFraction=70

 

 -XX:+UseCMSInitiatingOccupancyOnly

指示只有在年老代使用了初始化的比例后,CMS GC启动收集。

 

-XX:+UseCMSCompactAtFullCollection

在FULL GC的时候,对年老代的压缩。防止内存碎片,对live object进行整理,使内存碎片减少。CMS是不会移动内存的,因此,这个非常容易产生碎片,导致内存不够用,因此,内存的压缩这个时候就会被启用,增加这个参数是个好习惯。可能会影响性能,但是可以消除碎片

 

-XX:+DisableExplicitGC

禁止java程序中的Full GC,如System.gc()的调用。防止程序在代码里误用了System.gc()对性能造成的冲击。

 

-XX:+ExplicitGCInvokesConcurrent

显式调用gc(如System.gc)时,也可以并行进行标记-清扫式垃圾收集(CMS)

 

三、 内存管理调优的相关配置项

配置

描述

默认值

-XX:+UseFastAccessorMethods

get,set方法转成本地代码

 

-XX;+PrintGCTimeStamps

打印垃圾收集的时间情况, 示例:[Times: user=0.09 sys=0.00, real=0.02 secs]

 

-XX:+PrintGCApplicationStoppedTime

打印垃圾收集时,系统的停顿时间,示例 :

Total time for which application threads were stopped: 0.0225920 seconds

 

-XX:+PrintGCDateStamps

打印GC的真实日期

 

-XX:PrintGCDetails-Xloggc

打印垃圾收集的情况,示例

[GC 15610.466: [ParNew: 229689K->20221K(235968K), 0.0194460secs] 1159829K -> 953935K (2070976K), 0.0196420 secs]

 

-XX:+HeapDumpOnOutOfMemoryError

内存泄漏时,输出内存dump文件

 

-XX:+HeapDumpBeforeFullGC

FULL GC前,输出内存dump文件

 

-XX:+PrintFlagsFinal

这个参数的作用是显示出VM初始化完毕后显示所有可设置的参数及它们的值

 

7.3.2 查看方法

查看方法

具体操作

动态查看

当java进程启动后,可通过抓取java进程查看当前jvm配置(ps –ef|grep java)

配置文件查看

配置文件查看:在J2EE环境中查看这些参数,只需要在J2EE应用服务器或者Servlet容器相关启动文件启动参数设置处查看,比如,Tomcat是在catalina.bat中配置,weblogic一般在startWeblogic.sh中配置。
参数设置示例:
-server -Xmx3g -Xms3g -Xmn=1g -XX:MaxPermSize=128m -Xss256k -XX:MaxTenuringThreshold=10 -XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+UseParallelOld GC -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -XX:+UseBiasedLocking
-server -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:MaxTenuringThreshold=31 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection

数据库层

8.1 SQL Server

8.1.1 基本配置

配置

描述

默认值

查看方法

版本

描述数据库版本信息

 

select @@version

最大服务器内存

设置SQL Server可用的最大物理内存大小,单位为MB

建议不超过物理内存的70%

右击服务器属性->内存,设置最大内存

最大并行度

max degree of parallelism

表示数据库可支持的最大并发度,在需要对并发度做限制时,可修改该值。某些情况下,限制并发度可提高系统性能,建议与CPU核数保持一致。

0不限制,即使用所有的CPU

右击服务器属性->高级,设置最大并行度

使用AWE分配内存

AWE是Windows的内存管理功能的一组扩展,它使应用程序能够使用的内存量超过通过标准32位寻址可使用的2~3GB内存。64位系统,是否开启,则影响不大。

False,不开启

右击服务器属性->内存->服务器内存选项,确认前面没有被勾上

最大工作线程

max worker threads

SQL Server 可以为大量的客户端连接创建一个工作线程池,这将提高性能,当服务器上连接有大量客户端时,线程池有助于优化性能。一般情况下,为每一个客户端连接创建一个独立的操作系统线程可占用较少的系统资源。但是,当服务器上具有数以百计的连接时,每个连接使用一个线程就可能占用大量的系统资源。

 

右击服务器属性->处理器,设置最大工作线程数

轻量池

Lightweight Pooling

可以减少有时在对称多处理 (SMP) 环境下遇到的、与过多的上下文切换有关的系统开销。 如果出现过多的上下文切换,轻型池可以通过上下文切换内联化,从而降低用户/内核环的转换频率,达到提高吞吐量的目的。

原则上不得调整轻量池的默认值。默认不启动

右击服务器属性->处理器,确认选项:使用windows纤程(轻型池)是否被勾上

优先级提升

Priority Boost

可以指定 Microsoft SQL Server 是否应当以比相同计算机上的其他进程更高的 Microsoft Windows 2000、Windows Server 2003、Windows 2008 或 Windows 2008 R2 计划优先级运行。

对于正处于对外服务状态的MS SQL群集服务器,必须确保未使用优先级提升。默认值为 0,其优先级基数为 7。

右击服务器属性->处理器,

确认选项:提升SQL Server的优先级是否被勾上

设置工作集大小

Set Working Set Size

通过配置选项来管理和优化 SQL Server 资源

必须使用工作集大小的默认设置,默认值为 0。

在查询分析器中执行以下语句:

USE master

GO

EXEC sp_configure \'set working set size\';

AUTO_CREATE_STATISTICS

自动为没有用于谓词的索引的列创建统计信息。

建议关闭

连接数据库->右击数据库属性->选项->其他选项->自动

AUTO_UPDATE_STATISTICS

自动更新统计信息

建议关闭

 

8.1.2 其他检查点

其他检查点

查看方法

确认数据文件(文件类型为行数据)和日志文件(文件类型为日志)的位置,以及二者是否分开

连接数据库->右击数据库属性->文件

确定数据库数据文件个数

连接数据库->右击数据库属性->文件

注意TEMPDB的数据文件的个数、大小以及是否设为自增长

连接数据库->数据库->右击tempdb属性->文件

必须将Lock Page In Memory权限赋予SQL Server的启动
账号,以减少频繁内存换页引起的性能成本

择开始菜单->运行->gpedit.msc->启动组策略配置->计算机配置->windows设置->本地策略->用户权限分配->将页锁定在内存->添加用户或组。

数据库自增长大小设置:自增长以必须以MB为单位,不得用Percent为单位。

连接数据库->右击数据库属性->文件

必须数据库确保未启用AutoShrink和AutoClose选项。该选项会严重影响MS SQL的性能。

连接数据库->右击数据库属性->选项->其他选项->自动

查看数据库日志文件大小

执行SQL命令“dbcc sqlperf(logspace)”,这里默认列出所有数据库的日志文件大小,从查询结果集中的“Database Name”列找到被测数据库并查看日志文件大小及使用情况

8.2 Informix

8.2.1 基本信息

所属章节

配置

描述

默认值

 

版本

描述数据库版本信息

 onstat -

 

在onconfig下的CPU-Related Configuration Parameters章节里面

 

NOAGE

使操作系统不降低oninit进程执行的优先级,防止oninit进程由于长时间运行而在操作系统的优先级降低,从而得不到足够的CPU资源。可参照$INFORMIXDIR/release/en_us/0333/ids_machine_notes_<version>.txt中的说明,如果操作系统支持,则设为1,否则设为0。

 

SINGLE_CPU_VP

定义运行事件数据库服务器的虚拟处理器的数目

onconfig 文件设置推荐值:SINGLE_CPU_VP 1

VPCLASS

数据库服务器应启动的虚拟处理器数

,可以用onmode -p命令为类添加虚拟处理器

onmode -p (+/-)#来增加或者减少虚拟处理器。#代表增加或者减少虚拟处理器的个数。

在onconfig下的Optimizer Configuration Parameters章节里面

OPTCOMPIND

帮助 Informix 数据库优化器选择最佳的数据访问方法。

onconfig 文件设置推荐值:OPTCOMPIND 1  标志位,无单位

 在onconfig下的Network Configuration Parameters章节里面

NETTYPE

定义了Informix IDS的连接类型和连接可以连接的轮询线索数目。

NETTYPE的配置格式如下:NETTYPE connection_type,oll_threads,c_per_t,vp_class

在onconfig下的Shared Memory Configuration Parameters章节里面

 

 

SHMVIRTSIZE

指定 Informix 数据库服务器共享内存的虚拟部分的初始大小。

一般考虑能满足一个日常操作的需要。常驻内存1/4或 1/8

SHMADD

指定将动态添加至 Informix 通用服务器共享内存的虚拟部分的内存段的大小。

如果实际内存小于等于 256MB,则建议使用缺省值 8192KB;如果在 256MB 到 512MB 之间,则设置为 16384KB;如果大于 512MB,则设置为32768KB。

RESIDENT

如果操作系统支持内存段的强制驻留,则指定 Informix 的共享内存的驻留部分不能被操作系统交换。通过不允许驻留部分被交换出,事件数据库中包含的数据保留在内存中,而不是交换至磁盘,因此性能改善。如果操作系统不具有强制驻留选项,Informix 通用服务器发出错误消息并随后忽略该参数。RESIDENT 值应当设置为 1。

onconfig 文件设置推荐值:RESIDENT 1

标志位,无单位

在onconfig下的Buffer pool and LRU Configuration Parameters章节里面

BUFFER

POOL

 

设置每个Buffer Pool的缓冲区及LRU队列。

onconfig 文件设置推荐值:BUFFERS 200KB

 

在onconfig下的Parallel Database Query (PDQ) Configuration Parameters章节里面

 

 

DS_MAX_QUERIES

可以并发运行的 PDQ 查询的最大个数。也即同一时刻大于 0 的 PDQ 查询的总数不能超过 DS_MAX_QUERIES

默认值: CPU VP * 2 * 128

onconfig 文件设置推荐值:DS_MAX_QUERIES 10MB动态修改: onmode -Q

DS_MAX_SCANS

指定判定支持查询可以并行运行的并行数据库查询扫描线程数目限制。

onconfig 文件设置推荐值:DS_MAX_SCANS 20MB

DS_TOTAL_MEMORY

指定应当用于并行数据库查询的 Informix 通用服务器内存总百分比。

onconfig 文件设置推荐值:DS_ TOTAL_MEMORY 50动态修改: onmode -M

MAX_PDQPRIORITY

PDQ 可获取的最大资源的百分比

范围: 0至100

初始值:有 = 100动态修改: onmode -D

在onconfig下的Scan Configuration Parameters章节里面

 

RA_PAGES

定义顺序扫描数据或索引表期间之前首先尝试读取的磁盘页数目

onconfig 文件设置推荐值:RA_PAGES 10P

RA_THRESHOLD

定义用信号通知事件数据库服务器将更多页读入内存之前,内存中尚未处理的磁盘页的数目

onconfig 文件设置推荐值:RA_ THRESHOLD 5P

在onconfig下的AIO and Cleaner-Related Configuration Parameters章节里面

VPCLASS AIO

VPCLASS aio,num=2告知Informix启动两个oninit流程来执行磁盘异步I/O (AIO) 处理

onconfig 文件无默认值

onconfig下的SQL Statement Cache Configuration Parameters章节

STMT_CACHE

是否开启SQL语句高速缓存:

0- 关闭

1- 在单个用户将 STMT_CACHE 环境变量设置为 1 或在应用程序中执行 SET STATEMENT CACHE ON 语句时,为该用户使用SQL语句高速缓存;

2- 对所有用户开启语句高速缓存

默认为0,关闭

 

STMT_CACHE_HITS

指定放入高速缓存中的条目需命中的次数(称为命中数)。

设置为 0 时,如果高速缓存的当前大小不会超过内存限制,那么数据库服务器将SQL语句插入高速缓存。

>0时,

 

STMT_CACHE_SIZE

高速缓存大小,单位为KB

    注:STMT_CACHE_SIZE * STMT_CACHE_NUMPOOL 的缓存容量不能超过:SHMVIRTSIZE 的大小

 

STMT_CACHE_NUMPOOL

高速缓存的POOL 数

范围:1~256

查看磁盘空间的使用情况

Onstat -d

直接使用命令“onstat –d”可以查看各分片对应dbs的空间情况,输出包括DBSPACE和CHUNK的两部分信息

一个dbspace对应多个chunk,dbspace部分的信息中包含自己的id,对应的第一个chunk的chunkid,chunk的数量,通过chunk中的“chk/dbs”字段可以相互对应起来。

查看日志文件情况

Onstat –l

直接使用命令“onstat –l”查看日志的使用情况,其中%used表示使用百分比

 

 

8.2.2 查看方法

连接到数据库服务器,在命令行输入env(环境变量),查看config文件名称,如下图:

 

进入informix安装路径下的etc目录(命令行输入cd Informix ->cd etc),输入more onconfig.spdbnb查看参数。

8.3 Oracle

8.3.1 基本配置

类别

配置

描述

默认值

 

版本

描述数据库版本信息

连接数据库输入select * from product_component_version;

内存

java_pool_size

用于存放java代码,对于大的应用,java_pool_size应>=50M,对于一般的java存储过程,缺省值为20M,若不使用java,建议设置为30M

512MB

large_pool_size

如果不设置MTS,通常在RMAN、OPQ会使用到,但是在20M-5-M应该差不多,可以考虑为session*(sort_area_size+2M)

512MB

log_buffer

日志缓冲区大小

30M(批量系统可适当增大)

memory_target

Oracle 所能使用的最大内存值

0

memory_max_target

设定Oracle能占系统多大的内存空间

0

page_aggregate_target

所有session总计可以使用的最大PGA内存:
1、对于OLTP系统:page_aggregate_target=(<Total Physical Memory>*80%)*20%
2、对于DSS系统:page_aggregate_target=(<Total Physical Memory>*80%)*50%
此参数需配合workarea_size_policy=auto来实现自动PGA管理

10%物理内存

sga_max_size

例程存活期间所占用系统全局区的最大大小

建议值为物理内存的40%

Shared_pool_size

指定共享池的大小

3000M

sga_target

SGA_TARGET 指定了SGA 可以使用的最大内存大小,而SGA 中各个内存的大小由Oracle自行控制,不需要人为指定。Oracle 可以随时调节各个区域的大小,使之达到系统性能最佳状态的个最合理大小,并且控制他们之和在SGA_TARGET 指定的值之内

默认为0 ,即没有启动自动共享内存管理

Streams_pool_size

流池的大小(建议不小于200M),如果设置了sga_target,该参数可由系统自动调节

256MB

pre_page_sga

通过修改lock_sga和pre_page_sga参数可以保证SGA不被换出到虚拟内存,进而可以提高SGA的使用效率。

当lock_sga参数设置为TRUE时(默认值是FALSE),可以保证整个SGA被锁定在物理内存中,这样可以防止SGA被换出到虚拟内存。只要设置lock_sga=TRUE便可保证SGA被锁定在物理内存中,这里之所以顺便将pre_page_sga参数也设置为“TRUE”,是因为这样可以保证在启动数据库时把整个SGA读入到物理内存中,以便提高系统的效率(虽然会增加系统的启动时间)。WINDOWS不能设置lock_sga=true,可以通过设置pre_page_sga=true,使得数据库启动的时候就把所有内存页装载,这样可能起到一定的作用。

 

 

lock_sga

 

数据库

archive_lag_target

通过时间限制,指定数据库强制进行日志切换,进行归档。

1200秒

db_files

可为该数据库打开的数据文件的最大数量

较小的系统一般可设置为500,较大的系统设置成1000或更大

db_block_buffers

(数据高速缓冲区)访问过的数据都放在这一片区内存区域,该参数越大,Oracle在内存中找到相同数据的可能性就越大,即加快了查询速度

建议值32768

db_block_size

(数据库块大小,以字节计):Oracle默认块为2KB,太小了,因为如果有一个8KB的数据,则2KB块的数据库要读4次盘才能读完,而8KB块的数据库只需要1次就读完了,大大减少了I/O操作。数据库安装完成后就不能再改变db_block_size的值了,只能重新建立数据库并且建库时,要手工安装数据库

建议8K=8129

db_writer_processes

一个例程的数据库写进程的初始数量。

较大值(1或CPU核数的1/8)
10.2中最大为20,11.2中最大为36

db_cache_size

指定数据缓冲区的大小

剩余的SGA

filesystemio_options(仅在文件系统方式下设置)

文件IO方式

SETALL

nls_characterset(nls_language)

用于char,VARCHAR2,长而CLOB列

建议ZHS16GBK

nls_nchar_characterset

用于nchar,及NCLOB类型的列

建议AL16UTF16

open_cursors

指定一个会话一次可以打开的游标 (环境区域) 的最大数量,并且限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小,以避免用户再次执行语句时重新进行语法分析。请将该值设置得足够高,这样才能防止应用程序耗尽打开的游标。

建议2000

parallel_execution_message_size

指定并行执行 (并行查询、PDML、并行恢复和复制) 消息的大小。如果值大于 2048 或 4096,就需要更大的共享池。

16384

parallel_max_servers

指定一个例程的并行执行服务器或并行恢复进程的最大数量。如果需要,例程启动时分配的查询服务器的数量将增加到该数量。

10*CPU核数,且<=80

processes

指定可同时连接到一个 Oracle 服务器上的操作系统用户进程的最大数量

>=1000应比应用服务器连接数大100~200

resource_limit

确定是否在数据库概要文件中实行资源限制。

TRUE

session_cached_cursors

指定要高速缓存的会话游标的数量。对同一 SQL语句进行多次语法分析后,它的会话游标将被移到该会话的游标高速缓存中。这样可以缩短语法分析的时间,因为游标被高速缓存,无需被重新打开。

建议300

timed_statistics

建议设置为ture,否则无法查看准确的统计信息(9i版本后设置为ture对系统性能影响较小,千分之一)

TURE

undo_retention

撤销保留时间的大小

10800秒

 

8.3.2 查看方法

登录服务器->切换成oracle用户->连接数据库->导出config文件->查看参数。

相关语句:

#Su – oracle

#Sqlplus /nolog

#Conn / as sysdba

#Spool /oracle/app/文件名.lst

#Show parameter

#Spool off

#Exit

#Su – root

#输入密码

#Cd oracle

#Cd app

#More文件名.lst

 

8.3.3 其他检查点

数据库文件和表空间配置如下

查看方法

具体操作

查询表空间的free space

执行下面的SQL语句:

select tablespace_name,

count(*) as extends,

round(sum(bytes)/1024/1024,2) as MB,

sum(blocks) as blocks

from dba_free_space group by tablespace_name;

查询表空间的总容量

执行下面的SQL语句:

select tablespace_name,sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name;

查询表空间使用率

执行下面的SQL语句:

select  

          total.tablespace_name,  

          round(total.MB,2) as Total_MB,  

          round(total.MB-free.MB, 2) as Used_MB,  

          round((1-free.MB/total.MB)*100, 2) as Used_Pct  

         from  

       (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_free_space group by tablespace_name) free,  

       (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name) total  

   where      free.tablespace_name=total.tablespace_name;  

日志文件查看

oracle的日志文件有几种:警告日志,trace日志,audit日志,redo日志,归档日志

警告日志:也就是alert log,在系统初始化参数文件设置的background_dump_dest对应的就是它的位置。

trace日志:一般放seesion追踪的信息,对应系统初始化参数文件参数user_dump_dest

对应的就是它的位置。

audit日志:审计的信息,对应系统初始化参数文件参数audit_file_dest

对应的就是它的位置。

redo 搜索日志:存放数据库的更改信息和路径:

SQL> select * from v$logfile;

归档日志:redo日志的历史备份,select * from v$parameter where name like \'log_archive_dest%\'; 它的value的值就是位置

 

表空间名称

命名规范

数据文件大小

自动扩展

SYSAUX

sysaux01.dbf

4000M

ON

SYSTEM

system01.dbf

4000M

ON

TEMP

temp+序号.dbf

8000M

OFF

UNDO

undo+序号.dbf

8000M

OFF

USER

user01.dbf

1000M

ON

 

8.4  Sybase

8.4.1 基本配置

所属模块

配置

描述

默认值

 

版本

描述数据库版本信息

 

SQL Server Administration

Runnable process search count:

该值确定数据库在释放CPU给操作系统之前,查找可运行任务的引擎的循环次数。在执行队列中没有可执行任务时,该引擎可以释放CPU给操作系统或继续查找可执行任务。runnable process search count的值越高,引擎就会循环更多次,因此可长期占用CPU。该值设置的越小,引擎则会尽快的释放CPU。

2000

建议:设置为10

User Enviorment

数据库连接

number of user connections

设置数据库同时可接受用户连接

开发版本默认值为25

Named Cache:default data cache

local cache partition number

关注用户值的覆盖

 

Physical Memory

max memory

设置最大可用物理内存

 

additional network memory

设置为大包连接提供的最大内存空间

0

Processors

max online engines

最大的在线搜索引擎

1

number of engines at startup

配置启动时运行的引擎数量

1

 

8.4.2 查看方法

查看方法

具体操作

版本

select @@version

命令行查看

使用数据库客户端连接数据库,使用sp_configure查看配置,示例如下:
sp_configure ‘runnable process search count’//查看runnable process search count配置值
sp_configure ‘number of user connections’//查看number of user connections,结果中Default列即为默认连接数大小

配置文件查看

查看数据库配置文件,以Sybase ASE12.5为例,配置文件默认存放路径为:/sybase/ASE-12_5/数据库名.cfg。
根据所属模块儿,查找相应配置,例如:number of user connections在[User Enviorment]章节,runnable process search count在[SQL Server Administration]章节。

数据库日志使用情况

输入下面命令:

1> dbcc checktable(syslogs)

2> go

其他命令:

1> sp_helpdb [dbname]

2> go

--sp_helpsegment logsegment查看日志和数据各占了整个数据库多少

1> sp_helpsegment logsegment

2> go

8.5  DB2

8.5.1 基本配置

所属模块

配置项

描述

默认值

环境变量

DB2CODEPAGE

字符集

未设置,可选设置

DB2COMM

通信协议

未设置

DB2COUNTRY

 

未设置,可选设置

DB2_PARALLEL_IO

并行度

未设置,可选设置

DB2_COMPATIBILITY_VECTOR

打开oracle兼容性

未设置,可选设置

DB2_DEFERRED_PREPARE_SEMANTICS

打开oracle兼容性

未设置,可选设置

实例信息

MON_HEAP_SZ

数据库系统监视器堆大小配置参数

AUTOMATIC(90)

HEALTH_MON

关闭健康监控器

OFF

SVCENAME

实例监听端口

50000

MAX_COORDAGENTS

最大协调agent

AUTOMATIC(200)

MAX_CONNECTIONS

最大连接数

AUTOMATIC(MAX_COORDAGENTS)

SYSMON_GROUP

数据监控权限参数

未设置,可选设置

AUTHENTICATION

认证类型

SERVER

DIAGPATH

诊断日志路径

/home/glsinst/sqllib/db2dump/

数据库信息

LOCKLIST

锁定列表的最大存储量配置参数

AUTOMATIC(868288)

MAXLOCKS

升级之前锁定列表的最大百分比配置参数

AUTOMATIC(97)

SHEAPTHRES_SHR

排序堆阈值配置参数

AUTOMATIC(395324)

SORTHEAP

排序堆大小配置参数

AUTOMATIC(79064)

LOGBUFSZ

日志缓冲区大小配置参数

10240

LOCKTIMEOUT

锁超时时间设置

30

NEWLOGPATH

活动日志目录

未设置,可选设置

LOGFILSZ

日志文件大小

60000

LOGPRIMARY

主日志文件个数

15

LOGSECOND

辅助日志文件个数

10

LOGARCHMETH1

归档日志目录

OFF

SOFTMAX

数据库checkpoint设置

520

REC_HIS_RETENTN

指定将保留有关备份的历史记录信息的天数

30

AUTO_MAINT

自动维护

OFF

8.5.2 查看方法

查看方法

具体操作

版本

输入下面命令:

Db2

Connect to 数据库名

输出举例:

Database server  = DB2/AIX64 10.1.2

环境变量

输入下面命令:env |grep DB2

输出举例:

DB2LIB=/home/glsinst/sqllib/lib

DB2_HOME=/home/glsinst/sqllib

DB2INSTANCE=glsinst

部分信息(如DB2CODEPAGE)可从下面的“数据库信息”部分获取

实例信息

(Database Manager Configuration)

输入下面命令:

db2 get dbm cfg

 

针对单个配置项,请配合grep命令进行过滤

数据库信息

(Database Configuration for Database)

输入下面命令:

db2 get db cfg for 数据库名

针对单个配置项,请配合grep命令进行过滤

 

分类:

技术点:

相关文章: