何给solaris打补丁 一、solaris补丁介绍 1.1补丁的种类及文件名 solaris的补丁分为两类,一类是Point补丁,另一类是Cluster补丁。 a)Point补丁程序: 这类补丁仅仅是针对某一问题或缺陷而发布的单个补丁程序,solaris7、solaris8、solairs9的Patch一般为*.zip文件solaris2.6一般为.tar.Z或.tar.gz文件,它有如下编号方式: patch base code-revision num (如110668-04) 前面部分是这个补丁的主版本号(base code),后面部分是此补丁的修订号。两者合起来构成此补丁的Patch-ID。如上例编号为110668-04的补丁,110668为主版本号,04是修订号。此补丁是在110668-03的基础上做了新的修复。有一点需要指出,补丁版本号为110668的一系列补丁都是针对 /usr/sbin/in.telnetd 这一文件的不同问题的修复,110668-04发布以后,sun将不再提供110668-04以前的补丁,如110668-03等。 b) Cluster补丁程序: cluster补丁仅仅是一系列point补丁的重新包装,并带有自动安装程序。Cluster补丁的命名方式如下: version_Recommended 如9_x86_Recommended.zip是针对Solaris 9 for X86的补丁集。 8_Recommended.zip是针对Solaris 8 for Sparc 的补丁集。 每个Cluster补丁都对应一个CLUSTER_README文件,详细描述了该Cluster包含的补丁,以及安装的方法或注意事项。 1.2 关于补丁的其他信息 sun公司对每一版本的solaris都维护了一份Patch Reports,该Patch Reports包含了对应版本solaris所有补丁的描述。Patch Reports每月更新两次,可以从如下地址得到: http://sunsolve.sun.com/pub-cgi/sho...s&nav=patchpage 另外sun还维护了一份Sun Alert Patch Report,该文档按产品分类,并且随时更新。从这里可以找到所有sun产品的更新文档及相应补丁,当然也包括的solaris的Sun Alert 文档、Patch ID、简要说明等。Sun Alert Patch Report从这里可以得到: http://sunsolve.sun.com/pub-cgi/sho...unalert_patches 相应的solaris部分可从如下链接得到: http://sunsolve.sun.com/pub-cgi/sho...patches#Solaris 表格按时间排序,从Category表格中可以知道此问题属于安全缺陷修复还是应用优化。
二、补丁的下载 Cluster补丁可以从如下网址下载: http://sunsolve.sun.com/pub-cgi/sho...s&nav=patchpage 同样可以使用FTP协议下载,在sunsolve.sun.com的/pub/patches可以找到所有的补丁。 下载后为一个*_Recommended.zip文件。该压缩文件包含一份CLUSTER_README文件,建议安装前阅读此文件。 Point补丁由于其分散性不易下载与管理,可以使用Sun Alert Patch Report或Patch Reports来查看补丁情况,这两份文档相应的Patch ID及对应下载地址。另外sun网站提供的Patch Finder 功能也可以使我们在知道Patch ID的情况下很方便的找到该补丁,http://sunsolve.sun.com/pub-cgi/sho...s&nav=patchpage 同样,利用ftp协议从sunsolve.sun.com的/pub/patches目录下也可以下载指定Patch。 Sun公司建议所有下载的补丁都放到/var/tmp目录下(这也是通常的做法),如此将不会导致补丁安装时出现的任何permission/ownership的问题。
三、solaris补丁的安装和删除 3.1 /var/sadm/patch目录 在/var/sadm/patch目录下,记录了已安装的补丁。 如: # ls /var/sadm/patch 107558-05 107594-04 107630-01 107663-01 107683-01 107696-01 107817-01 107582-01 107612-06 107640-03 建议不要对此目录做任何修改,此目录被破坏后将不能安装或删除任何补丁。 3.2 管理solaris补丁 Solaris提供了两个命令来管理补丁,Patchadd和patchrm。这两个命令是在Solaris 2.6版本开始提供的,在2.6以前的版本中,每个补丁包中都提供了一个 installpatch 程序和一个 backoutpatch 程序来完成补丁的安装和卸载。
Patchadd 用来安装解压缩后的补丁程序。Patchadd通过调用 pkgadd 命令来安装补丁。安装补丁前,我们需要将补丁解压到/var/tmp下安装。安装补丁如下命令: # cd /var/tmp # patchadd 110668-04 Checking installed patches... Verifying sufficient filesystem capacity (dry run method) Installing patch packages...
如果当前目录下有110668-04目录,patchadd将安装此补丁。补丁安装后,系统会备份原文件,以便在以后删除此补丁。如果使用patchadd –d 选项安装补丁,系统将不备份源文件,这意味着你将不能在以后删除此补丁。使用Patchadd –p 选项可以检验已安装的patch,例如: # patchadd -p Patch: 106793-01 Obsoletes: Requires: Incompatibles: Packages: SUNWhea . . . 同样,solaris提供了另一命令来查看已安装的patch: #showrev -p Patch: 106793-01 Obsoletes: Requires: Incompatibles: Packages: SUNWhea . . . Patchrm 如果因为某种情况你想卸载某一补丁,你可以使用Patchrm命令来完成。此命令通过调用 pkgadd 来恢复安装补丁前的文件备份来卸载补丁。使用Patch-ID作为Patchrm的参数就可以卸载补丁: # patchrm 106793-01 Checking installed packages and patches... Backing out patch 106793-01... Patch 106793-01 has been backed out. 这里需要说明一下,在如下三种情况下,补丁将不能卸载: 1.在安装patch时,用patchadd -d命令指定patchadd 不备份被更新的文件。这样安装的patch无法删除。 2.另一Patch需要此Patch,即存在dependence(关联性), 如一定要删掉该patch,先删掉另一patch。 3.要删的patch已被另一更新的patch废弃了。如安装110668-04补丁后,如果以前安装过110668-03,则110668-03将被110668-04废弃,110668-03将无法删除。 3.3 Cluster补丁的安装 Cluster补丁为单个补丁的集合,下载解压后,可以通过执行./install_Cluster脚本来完成补丁集的安装。执行./install_Cluster后,脚本将检查当前目录下的patch_order文件,此文件标明了Patch的安装顺序,./install_Cluster将按照Patch_order文件给出的顺序来安装patch。如果没有patch_order文件,则假定当前目录下所有以1开始的目录名均为需要安装的补丁目录,并且假定这些目录的名称次序作为安装Patch的次序。因此你可以通过修改patch_order文件来决定安装或不安装某Patch。
我 的 查 询 上 周 的 性 能 很 好, 为 什 么 现 在 查 询 速 度 很 慢?
A: 这 是 由 于 执 行 计 划 被 改 变 而 造 成 的, 下 列 因 素 将 会 改 变 一 个 执 行 计 划:
1) INIT<sid>.ORA 文 件 中 的 参 数 OPTIMIZER_MODE 被 改 变 2) 表 上 定 义 或 改 变 了 并 行 查 询 度 3) 使 用 ANALYZE 命 令 重 新 分 析 了 表, 而 且 使 用 了 ESTIMATE 方 式, 因 这 种 方 式 选 择 不 同 的 百 分 比 可 产 生 不 同 的 分 析 结 果。
4) DB_FILE_MULTIBLOCK_READ_COUNT 参 数 被 修 改。
5) SORT_AREA_SIZE 参 数 被 修 改
gcc abc.c得到的a.out不能运行
./a.out
Linux下检测程序内存泄漏的工具
cchecker或是efence库都可以
查看全文
让root直接telnet登陆
编辑/etc/pam.d/login,去掉
auth required /lib/security/pam_securetty.so 这句话
linux的网上资源有哪些
国外
http://lwn.net/
http://www.tldp.org/
http://www.yolinux.com/(flying-dance big big pig)
http://www.justlinux.com/
http://www.linuxtoday.com/
http://www.linuxquestions.org/
http://www.fokus.gmd.de/linux/
http://www.linux-tutorial.info/
http://public.www.planetmirror.com/
http://www.freebsdforums.org/forums/
http://www.netfilter.org/documentation/
http://www-106.ibm.com/developerworks/linux/
国内
http://www.fanqiang.com/
http://www.linuxsir.com/
http://www.chinaunix.net/
http://www.linuxfans.org/(deadcat)
http://www.linuxeden.com/
http://www.linuxforum.net/
http://www.linuxaid.com.cn/
http://freesoft.online.sh.cn/
http://www-900.ibm.com/developerWorks/cn/linux/index.shtml
http://www.neweasier.com/software.html
允许|禁止root通过SSH登陆(Fun-FreeBSD)
修改sshd_config:PermitRootLogin no|yes
查看全文
RH8.0命令行下轻松改变ping 的TTL值(cgweb)
#sysctl -w net.ipv4.ip_default_ttl=N
(N=0~255),若N>255,则ttl=0
RH8.0命令行下轻松改变系统配置默认值(houaq)
编辑/etc/sysctl.conf, 例如,将
net.ipv4.ip_forward = 0
变为
net.ipv4.ip_forward = 1
重启后生效,用sysctl -a查看可知
查看本机的IP,gateway, dns
IP:
以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备
Gateway:
以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关
也可以查看/etc/sysconfig/network文件,里面有指定的地址!
DNS:
more /etc/reslov.conf,内容指定如下:
nameserver 202.96.69.38
nameserver 202.96.64.38
查出22端口现在运行什么程序
lsof -i :22
查看全文
手动添加默认网关
以root用户,执行: route add default gw 网关的IP
想更改网关
1 vi /etc/sysconfig/network-scripts/ifcfg-eth0
更改GATEWAY
2 /etc/init.d/network restart
永久更改ip
ifconfig eth0 新ip
然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
让apache的默认字符集变为中文
如果是1.*,vi httpd.conf
找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312
如果是2.*的话,需要改动一个地方,vi httpd.conf
AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off
不让普通用户自己改密码(myxfc)
[root@xin_fc etc]# chmod 511 /usr/bin/passwd
又想让普通用户自己改密码
[root@xin_fc etc]# chmod 4511 /usr/bin/passwd
查看全文
在多级目录中查找某个文件的方法(青海湖)
find /dir -name filename.ext
du -a | grep filename.ext
locate filename.ext
不让显示器休眠
setterm -blank 0
setterm -blank n (n为等待时间)
linux中让用户的密码必须有一定的长度,并且符合复杂度
vi /etc/login.defs,改MIN_PASS_LEN
FSTAB 最后的配置项里边最后两个数字是什么意思(lnx3000)
第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;
第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号
1 是root文件系统,2 是别的文件系统。fsck按序号检测磁盘,0表示该文件系统不被检测
dump 执行ext2的文件系统的备份操作
fsck 检测和修复文件系统
修改系统时间
date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10
开机就mount上windows下的分区
自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意,先得手工建立一个/mnt/d目录
源码包怎么没有
你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。
源码包怎么没有
你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。
查看全文
make bzImage -j的j是什么意思(wind521)
-j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3
vim中显示颜色或不显示颜色
vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色
使用src.rpm
rpmbuild --rebuild *.src.rpm
字符模式下设置/删除环境变量
bash下
设置:export 变量名=变量值
删除:unset 变量名
csh下
设置:setenv 变量名 变量值
删除:unsetenv 变量名
安装软件
rpm -ivh aaa.rpm
tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install
查找或删除正在使用某文件的进程(wwwzc)
fuser filename
fuser -k filename
查看目录的大小
du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。
快速观看开机的硬件检测(弱智)
dmesg | more
查看硬盘的使用情况
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..
把弹出的光盘收回来(beike)
#eject -t
装中文输入法
以redhat8为例,xwindow及其终端下的不用说了吧,缺省就安装了,用ctrl-space呼出。
现在讨论纯console,请下载zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz,
放在任一目录中,tar xvfz zhcon-0.2.1.tar.gz, cd zhcon-0.2.1, ./configure,
make, make install。安装结束,要想使用,请运行zhcon,想退出,运行exit。
查找权限位为S的文件
find . -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;
查看全文
切换X桌面(lnx3000)
switchdesk KDE或者switchdesk GNOME
改变redhat的系统语言/字符集(beming/mc1011)
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
查看系统信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备IO端口
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI设备的信息
cat /proc/swaps - 所有Swap分区的信息
cat /proc/version - Linux的版本号 相当于 uname -r
uname -a - 看系统内核等信息
去掉多余的回车符
sed 's/^M//' test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
或者 dos2unix filename
利用现存两个文件,生成一个新的文件
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq
2. cat file1 file2 | sort | uniq -d
3. cat file1 file2 | sort | uniq -u
如何看出redhat的版本(7.3?8.0?)
cat /proc/version或者cat /etc/redhat-release
查看全文
把man或info的信息存为文本文件
以 tcsh 为例:
man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s
使ctrl + alt + del失效
vi /etc/inittab
将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉,就可以了
找回忘记了的root口令(lilo/grub)
三种办法:
1.在系统进入单用户状态,直接用passwd root去更改
2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下:
cd /mnt
mkdir hd
mount -t auto /dev/hdaX(原来/分区所在的分区号) hd
cd hd
chroot ./
passwd root
这样可以搞定
3.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同
rh8中
一. lilo
1. 在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空
二. grub
1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
3. 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
4. 回车返回,然后按b键启动,即可直接进入linux命令行
5. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
6. #reboot重启,root密码为空
删除文件大小为零的文件
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} ;
find ./ -size |xargs rm -f &非常有效
for file in * #自己定义需要删除的文件类型
do
if [ ! -s ${file} ]
then
rm ${file}
echo "rm $file Success!"
fi
done
删除名字带的/和‘'文件
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用
1.解决的方法,把NFS文件系统在挂到不过滤'/'字符的系统下删除含特殊文件名的文件。
2.也可,将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统,
clri清除该目录的inum,fsck,mount,check your lost+found,rename the file in it.
最好是通过WINDOWS FTP过去就可以删除任何文件名的文件了!
删除名字带不可见字符的文件
列出文件名并转储到文件:ls -l >aaa
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi aaa
[rm -r *******
]
把文件加上执行权限 chmod +x aaa
执行 $aaa
删除名为-a的文件
rm ./-a
rm -- -a 告诉rm这是最后一个选项,参见getopt
ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' ;
mount用法
fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom iso文件 mount -o loop /abc.iso /mnt/cdrom 软盘 mount /dev/fd0 /mnt/floppy USB闪存 mount /dev/sda1 /mnt/cdrom 所有/etc/fstab内容 mount -a 可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.
windows下看linux分区的软件
Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip
Ret Hat Linux启动到文字界面(不启动xwindow)
将/etc/inittab中 id:5:initdefault: 一行中的5改为3
redhat的自动问题
在www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工
具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。
修改主机名
vi /etc/sysconfig/network,修改HOSTNAME一行为HOSTNAME=主机名,重启后也能生效
1、 前言当一个新的业务系统开发完成后,需要在一个区域乃至全国推广此应用软件,如何根据业务规模来选择服务器配置、内外置磁盘大小、以及网络带宽,是一件复杂的事情。一个最真实的评估,是建立一个接近真实业务应用的操作环境,进行各种压力测试,测算出不同的用户数量下,系统的响应时间和吞吐量,并得出当时服务器的各种资源的利用率情况,对硬件资源的完整评估,需要考虑下列三个方面:
查看全文
如何在Linux下进行文字编辑工作?
答:较为常用的文字编辑工具是vim,在Linux中缺省安装。vim的一些用法如下。 1. 打开/关闭语法颜色,设置如下: syn on/syn off 2. 复制指定的区域内容 复制到开始处:mk。 复制到结尾:"ay'k。此时已经将指定的内容压到缓冲区a中。 复制到目标:"ap。这里表示将"a的内容粘贴到当前位置。 3. 查找替换 将文件的所有abc替换为d,代码如下: %s/abc/def 将第一行到30替换,并且不区分abc的大小写,代码如下: 1,30s/abc/def/i 4. 同时编辑两个文件,代码如下: vi file1 file2 用:n、:N在两个文件之间切换。 5. 快速移动光标 用w、b实现向前/后移动一个单词;用Ctrl+d和Ctrl+u可实现向后/前翻半页。 除此之外,还可以安装一些Office工具进行文件编辑。 下面是两款与MS Office的格式兼容比较好的软件的下载地址: StarOffice http://freesoft. online.sh.cn/mirrors/StarOffice/ 文杰 http://www.haansoft .com.cn/ |
如何设置颜色?
答:修改$HOME/.bashrc文件,加入如下代码: alias ls="ls --color" 然后使用如下代码使修改立即生效: $ source .bashrc Linux中常见的颜色含义为:蓝色表示目录;绿色表示可执行文件;红色表示压缩文件;浅蓝 色表示链接文件;灰色表示其它文件。 |
如何保护文件不被误删除?
答:设置rm为rm -I,删除时将有相应的提示。保护文件不被误删除可使用如下代码: $ chattr +r 文件名 |
查看全文
在Linux下如何查找文件?
答:下面以实例说明在Linux下查找文件的方法。 1. 在当前路径查找文件名为*.sql的文件,代码如下: $ find . -name "*.sql" 2. 查找大于100MB的文件,代码如下: $ find . -size +100000 后面的数字的单位是KB。 3. 查找含有print的文件,代码如下: $ find . -name "*" -exec grep -l "print" {} 4. 查找并删除tmp*的文件,代码如下: $ find . -name "tmp*" -exec rm {} 5. 查找7天内没有修改过的文件,代码如下: $ find . -mtime +7: |
如何查看硬盘使用情况?
答:可以使用df命令,代码如下: $ df -m 其中m表示按M显示各个分区使用情况。可以使用du查看某个目录占用的空间,代码如下: $ du -sm 或者查看/usr目录占用的空间(单位为MB),代码如下: $ du -sm /usr |
在Linux下如何配置网卡?
答:对于Red Hat Linux,用setup设置“network configuration”中的IP、NetMask、GW、DNS即可。 或者用命令ifconfig来设置第一个网卡 的netmask 和IP,代码如下: $ ifconfig eth0 netmask 255.255.255.0 192.168.6.2 |
在Linux下如何安装RPM等格式的软件?
答:RPM格式的软件使用方法如下。 1.安装,代码如下: $ rpm -ivh 文件名 2.升级,代码如下: $ rpm -Uvh 文件名 3.删除,代码如下: $ rpm -e 包名(注意不是安装用的文件名) 4.查看安装的包,代码如下: $ rpm -qa 将列出所有安装的rpm包 5.查看包的信息,代码如下: $ rpm -qpi 包名 6.查看包的文件安装内容: $ rpm -qpl 包名 此外,软件包还有其它一些常见的格式,如.tar、.gz格式。一般的步骤是: $ tar zxvf name.tar.gz 展开文件后根据其中的安装文档进行。遇到有特殊功能要求的软件安装时(如MySQL、PHP等) 还需要自己编译,此处不详述。 |
:在Linux下如何获得命令帮助?
答:可使用man、info实现。将man的信息保存到文件的代码: $ man 命令 | col -b > 保存的文件名 例如,将cp的命令保存到文件cp.txt,代码如下: $ man cp | col -b > cp.txt |
在Linux下定时执行oracle的sql方法 查看全文
1、 前言当一个新的业务系统开发完成后,需要在一个区域乃至全国推广此应用软件,如何根据业务规模来选择服务器配置、内外置磁盘大小、以及网络带宽,是一件复杂的事情。一个最真实的评估,是建立一个接近真实业务应用的操作环境,进行各种压力测试,测算出不同的用户数量下,系统的响应时间和吞吐量,并得出当时服务器的各种资源的利用率情况,对硬件资源的完整评估,需要考虑下列三个方面:服务器性能的评估 客户端工作站或前端桌面的评估 通讯网卡和网络带宽的评估 如果不能建立准确的压力测试环境,需要根据工业界的Benchmark对服务器进行评估,推算出符合业务规模的服务器配置,同时要考虑在做系统管理时所消耗的资源,如在做备份、恢复、问题诊断、性能分析时、软件维护时都会对资源带来附加的消耗,对重要资源要考虑为将来留下升级和可扩展的余地,下列是一些通用的原则:处理器:要考虑高峰时的处理器的能力,并适当保留一些缓冲,确保在业务增长时,系统有扩展的余地。如果要保持快速的响应能力,应当为CPU保留20%至40%的富余量。 内存:要为运行在此服务器的所有应用软件考虑内存,所需要的内存主要依赖于用户数、应用程序类型、进程的方式、和应用程序处理的数据量决定。 磁盘:评估业务的实际用户的数据量,以此推算出磁盘的最小个数,不要忘记选择备份设备(如磁带机)。
IO槽:尽量保留更多的IO槽,防止将来插更多的PCI卡。 网络:选择合适的网卡,保证网络不是系统的瓶颈。 在评估数据库服务器性能时,最困难的事情是如何把握准确度问题,到底考虑哪些因素等。理想情况下,应考虑下列要素:交易的复杂性 交易率 数据读/写比例 并发连接数目 并发交易数目 数据库最大表的大小 性能度量的目标 根据各种Benchmark测试结果和对各种生产系统的检测,下表概括了CPU、磁盘、内存页面、网络和虚存页交换的利用率,可看出一个服务器如果其利用率保持在Good 所标示的范围内时,是一种理想的模式。
2、 基于rPerf的推算,评估数据库服务器的CPU
rPerf(Relative performance)是从IBM公司解析模型得出的商务处理性能估计值。该模型模拟部分系统的操作,如中央处理器、高速缓存和内存,该模型没有模拟磁盘和网络的输入/输出操作。虽然采用了一般数据库和操作系统的参数,但该模型不能反映出具体的数据库或AIX版本。除非单独说明,否则rPerf均在系统推出时估计。IBM pSeries 640-B80为基准参照系统,其值为本。虽然rPerf可用于比较商业处理性能,但实际的系统性能可能不同,取决于许多因素,包括系统硬件配置和软件设计与配置。评估数据库服务器的性能,需要理解交易的类型、高峰期的情况、用户数量、在高峰时每个用户的交易数量。假如在高峰时,有三种典型的交易类型:轻的、一般的、重的。需要知道高峰时,每种交易的并发用户数目。假定高峰时间为:10:00-11:00,每个用户的交易数目如下:轻的交易 =120 交易/用户一般的交易= 60 交易/用户重的交易 = 15交易/用户
2.1、每个交易所使用的CPU秒评估出交易类型后,需要评估出运行每个交易所消耗的CPU秒,如果假定B80服务器每秒中支持10个交易,则每个交易需要消耗0.1个CPU秒。如果不知道如何评定CPU秒,则根据应用类型参照下列表。
2.2、评估服务器所需的rPerf值服务器所需要的rPerf值=SUM(NU * TX * CS/PP) / MC
NU:高峰时并发的用户数
TX:高峰时每个用户的交易数量
CS:在rPerf=1的服务器上,每个交易所需要的CPU秒
PP:高峰持续的时间
MC:最大的CPU利用率(推荐< 70%)下面举例说明如何计算所需的rPerf值,假定某公司的情况如下:业务高峰时间: 10:00-11:00=1Hour=3600秒交易类型: 无复杂查询的简单应用相对交易类型,用户数目分布:轻的=2000, 一般=50, 重的=5在高峰时,每个用户的交易数量:轻的=120交易/用户一般=60交易/用户重的=15交易/用户对于rPerf=1的服务器,每个交易响应的