1 目的
为保证性能测试结果准确、可用,需在性能测试正式执行前对测试环境配置进行确认。本文对系统不同层次的的配置项进行了整理,梳理了可能引起系统性能差异的主要配置项,相关人员可通过本文的建议,对测试环境进行确认,进一步规避测试环境不一致引起的风险。
2 适用范围
本指南适用于由系统测试处负责实施的性能测试项目。
3 适用人员
测试经理、性能测试人员、性能测试实施相关的项目组成员。
4 操作系统
4.1 Windows
4.1.1 基本配置
|
配置项 |
描述 |
查看方法 |
|
机型 |
若为实体机,描述具体机型, |
命令行->dxdiag |
|
若为虚拟机,需描述宿主机机型 |
项目组提供,集成人员确认 |
|
|
CPU |
系统配置的CPU信息:型号、核数、主频等 |
1、计算机->右键属性或管理 2、命令行->dxdiag |
|
超线程 |
查看系统是否开启超线程 |
计算机运行->msinfo32 查看单个CPU核数,确认是否与逻辑CPU个数一致,若一致则表示未开启,否则表示开启 |
|
内存 |
系统配置的物理内存大小 |
1、计算机->右键属性 2、命令行->dxdiag |
|
存储 |
存储大小 |
计算机->管理->磁盘 |
|
存储类型和厂家型号, 例如本地磁盘、共享存储,并注明共享存储型号(DMX4、SAN等) |
需与项目组当面确认,由集成人员负责。 |
|
|
操作系统 |
描述操作系统版本,并标注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 |
禁用服务,将 EnableTCPChimney、EnableRSS、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端口范围。 |
5 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 |
|
HostnameLookups |
通过DNS获取请求客户的机器名 |
off提高性能 |
一般配置文件地址为: |
|
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 中间件
6.1 Weblogic
6.1.1 基本配置
WebLogic主要关注:服务器信息、执行线程、JDBC连接池三部分内容,主要配置项如下:
|
类型 |
配置项 |
描述 |
默认值 |
|
|
版本 |
Weblogic版本信息 |
无 |
|
服务器信息Server |
-client、-server |
这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性能。 |
windows环境下,缺省为client模式, 在Linux,Solaris上缺省采用server模式。 |
|
启用本机I/O(NativeIOEnable) |
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 |
|
套接字读取器(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: |
mydomain |
|
最大执行线程数(ThreadsMaximum) |
/domains/DOMAIN_NAME/config/config.xml: |
||
|
JDBC连接池 |
初始容量(InitialCapacity) |
/domains/DOMAIN_NAME/config/jdbc/jdbc.xml: |
mydomain |
|
最大容量(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: |
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 Server(WAS)
6.3.1 基本信息
WebSphere Application Serve(WAS)是IBM公司 Java EE 和 Web服务应用程序平台,简称WAS。
本文仅介绍与系统性能相关的配置项,WAS作为java应用程序,也包含JVM相关的配置信息,JVM的内容将在后续章节中单独介绍。
|
配置项 |
描述 |
默认值 |
|
|
版本 |
描述WAS的版本信息 |
|
|
|
JDBC连接池 |
资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >连接池属性 |
最小连接数:10 |
|
|
语句高速缓存 |
资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >WebSphereApplicationServer数据源属性>语句高速缓存大小 |
10 |
|
|
Web容器线程池WebContainer |
服务器>应用程序服务器> (服务器名) > |
最小大小:4 |
|
|
Web容器传输链 |
服务器>应用程序服务器> (服务器名) > |
最大连接数:20000 超时时间:60s |
|
|
EJB缓存 |
服务器>应用程序服务器> (服务器名) > EJB高速缓存设置> EJB缓存设置>高速缓存大小 |
高速缓存大小:2053 |
|
|
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 应用层
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中配置。 |
8 数据库层
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内存: |
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) |
|
|
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查看配置,示例如下: |
|
配置文件查看 |
查看数据库配置文件,以Sybase ASE12.5为例,配置文件默认存放路径为:/sybase/ASE-12_5/数据库名.cfg。 |
|
数据库日志使用情况 |
输入下面命令: 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命令进行过滤 |
1 目的
为保证性能测试结果准确、可用,需在性能测试正式执行前对测试环境配置进行确认。本文对系统不同层次的的配置项进行了整理,梳理了可能引起系统性能差异的主要配置项,相关人员可通过本文的建议,对测试环境进行确认,进一步规避测试环境不一致引起的风险。
2 适用范围
本指南适用于由系统测试处负责实施的性能测试项目。
3 适用人员
测试经理、性能测试人员、性能测试实施相关的项目组成员。
4 操作系统
4.1 Windows
4.1.1 基本配置
|
配置项 |
描述 |
查看方法 |
|
机型 |
若为实体机,描述具体机型, |
命令行->dxdiag |
|
若为虚拟机,需描述宿主机机型 |
项目组提供,集成人员确认 |
|
|
CPU |
系统配置的CPU信息:型号、核数、主频等 |
1、计算机->右键属性或管理 2、命令行->dxdiag |
|
超线程 |
查看系统是否开启超线程 |
计算机运行->msinfo32 查看单个CPU核数,确认是否与逻辑CPU个数一致,若一致则表示未开启,否则表示开启 |
|
内存 |
系统配置的物理内存大小 |
1、计算机->右键属性 2、命令行->dxdiag |
|
存储 |
存储大小 |
计算机->管理->磁盘 |
|
存储类型和厂家型号, 例如本地磁盘、共享存储,并注明共享存储型号(DMX4、SAN等) |
需与项目组当面确认,由集成人员负责。 |
|
|
操作系统 |
描述操作系统版本,并标注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 |
禁用服务,将 EnableTCPChimney、EnableRSS、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端口范围。 |
5 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 |
|
HostnameLookups |
通过DNS获取请求客户的机器名 |
off提高性能 |
一般配置文件地址为: |
|
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 中间件
6.1 Weblogic
6.1.1 基本配置
WebLogic主要关注:服务器信息、执行线程、JDBC连接池三部分内容,主要配置项如下:
|
类型 |
配置项 |
描述 |
默认值 |
|
|
版本 |
Weblogic版本信息 |
无 |
|
服务器信息Server |
-client、-server |
这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性能。 |
windows环境下,缺省为client模式, 在Linux,Solaris上缺省采用server模式。 |
|
启用本机I/O(NativeIOEnable) |
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 |
|
套接字读取器(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: |
mydomain |
|
最大执行线程数(ThreadsMaximum) |
/domains/DOMAIN_NAME/config/config.xml: |
||
|
JDBC连接池 |
初始容量(InitialCapacity) |
/domains/DOMAIN_NAME/config/jdbc/jdbc.xml: |
mydomain |
|
最大容量(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: |
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 Server(WAS)
6.3.1 基本信息
WebSphere Application Serve(WAS)是IBM公司 Java EE 和 Web服务应用程序平台,简称WAS。
本文仅介绍与系统性能相关的配置项,WAS作为java应用程序,也包含JVM相关的配置信息,JVM的内容将在后续章节中单独介绍。
|
配置项 |
描述 |
默认值 |
|
|
版本 |
描述WAS的版本信息 |
|
|
|
JDBC连接池 |
资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >连接池属性 |
最小连接数:10 |
|
|
语句高速缓存 |
资源> JDBC提供程序> (JDBC提供程序名) >数据源> (数据源名) >WebSphereApplicationServer数据源属性>语句高速缓存大小 |
10 |
|
|
Web容器线程池WebContainer |
服务器>应用程序服务器> (服务器名) > |
最小大小:4 |
|
|
Web容器传输链 |
服务器>应用程序服务器> (服务器名) > |
最大连接数:20000 超时时间:60s |
|
|
EJB缓存 |
服务器>应用程序服务器> (服务器名) > EJB高速缓存设置> EJB缓存设置>高速缓存大小 |
高速缓存大小:2053 |
|
|
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 应用层
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中配置。 |
8 数据库层
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内存: |
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) |
|
|
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查看配置,示例如下: |
|
配置文件查看 |
查看数据库配置文件,以Sybase ASE12.5为例,配置文件默认存放路径为:/sybase/ASE-12_5/数据库名.cfg。 |
|
数据库日志使用情况 |
输入下面命令: 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命令进行过滤 |