Submitted by string on 2009, December 11, 6:03 PM
-----------------TPC---------------
TPC为非赢利性国际组织,事物处理性能委员会(TPC,Transaction Processing Corp)。
-----------------TPC-C--------------
TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。
TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。特别值得一提的是,它将专门测量系统在同时执行其它四种事务类型(如支付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量。
-----------------TPM-C--------------
TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟。
-----------------TPC-C规范概要----------------
TPC-C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。
该系统需要处理的交易为以下几种:
New-Order:客户输入一笔新的订货交易;
Payment:更新客户账户余额以反映其支付状况;
Delivery:发货(模拟批处理交易);
Order-Status:查询客户最近交易的状态;
Stock-Level:查询仓库库存状况,以便能够及时补货。
对于前四种类型的交易,要求响应时间在5秒以内;对于库存状况查询交易,要求响应时间在20秒以内。
-----------------之间的关系------------------
TPC-C使用三种性能 和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是transactions per minute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。要注意的是,在处理新订单的同时,系统还要按表1的要求处理其它4类事务 请求。从表1可以看出,新订单请求不可能超出全部事务请求的45%,因此,当一个 系统的性能为1000tpmC时,它每分钟实际处理的请求数是2000多个。价格是指系 统的总价格,单位是美元,而价格性能比则定义为总价格÷性能,单位是$/tpmC。
Tags: tpc, tpc-c, tpmc
系统工程师 | 评论:0
| 阅读:1108
Submitted by string on 2009, December 11, 11:36 AM
第五章 trouble shooting
dbca 数据库界面维护
netca 网络监听界面维护
emctl控制台维护
常用命令如下:
emctl start dbconsole 启动em。
emctl stop dbconsole
rmi远程访问 hp -ux的应用,会转到到另外一个IP.
查看/etc/hosts文件,去掉无关的ip和描述。
SQL> alter system checkpoint;
SQL> shutdown abort
SQL> startup restrict
SQL> shutdown immediate
SQL> startup
1. 确保EM关闭。
2. 确认对应的用户在对应的表空间。
SQL> select username,default_tablespace from user_users;
1. 查看sql参数是否生效
SQL> show parameter processes;
SQL> show parameter sessions;
SQL> show parameter sga;
SQL> show parameter pga;
2. 查看操作系统的参数是否生效。
#sam
在出来的字符集界面,查看Kernel Configuration
查看Tunables
查看设置的系统参数是否生效。
5. 查看IO.
打开/etc/inetd.conf
找到
#rpc dgram udp wait root /usr/lib/netsvc/rstat/rpc.rstatd
去掉注释,下次系统重新启动,即可监控。
或者在/usr/lib/netsvc/rstat/目录中
#./rpc.rstatd
当库表的字段够多,而脚本初始化很快的时候,直接删除行会是一个比较漫长的过程。而且删除后需要分析该表格。
建议用 truncate table TRANJOURNAL 来清空表,重新初始化数据即可。
请查看数据库对外的processes数量。
SQL>show parameter processes;
SQL>show parameter sessions;
如果低于连接数,参考修改processes,sessions修改。
查看sessions对应的sql为:
SQL>select * from v$resource_limit where resource_name = 'sessions';
系统工程师 | 评论:0
| 阅读:848
Submitted by string on 2009, December 11, 11:27 AM
第四章 loadrunner 压力端调整
在本次测试中,loadruner客户端,发起的JAVA协议连接,由于并发的数量比较大,我们只能采用线程的模式。在loadrunner中,默认的是每50个vuser会使用一个mdrv.exe进程,但是有些时候vuser中的使用的线程太多就会使测试程序的效率特别低,这时候就希望能够可以多起几个mdrv.exe的进程,每个进程中的vuser数量少一点,通过更改
HP\LoadRunner\dat\protocols\ Java_protocols.lrp文件。
在[Vugen]下面新加一条MaxThreadPerProcess=要设置的vuser数量 这样每个mdrv.exe进程中的vuser数量就是你上面设置的数量了。
JAVA协议测试,JVM参数配置
需要配置环境路径
需要配置JVM参数
不能添加-server参数。
应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号。
使用 regedit 命令访问
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键并创建名为 MaxUserPort 的新 REG_DWORD 值。缺省值:无建议值:至少十进制 32768,最大值十进制 65535。重新启动系统后生效。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] “MaxUserPort”=dword:000415630
PS:此次测试用的可是正版的loadrunner。
Tags: java协议, loadrunner9.1, tcp连接数
系统工程师 | 评论:0
| 阅读:920
Submitted by string on 2009, December 11, 11:22 AM
第三章 应用服务器的安装调整
比较奇怪的是weblogic11g,小版本号是weblogic10.3.2.
weblogic10.3安装
可选图形化界面安装或者字符集安装。
#./opt/java6/bin/java -jar server103_generic.jar
安装过程略,下一步下一步即可。
安装EOS6.1GA,需安装xmanger,通过图形化界面安装。注意安装文件对应目录的剩余空间。因启动一般使用nohup的方式启动,防止由于控制台输出过大导致应用错误。
#dbf
该命令可以查询对应的文件夹下剩余的空间
1. 最好是使用对应的应用服务器对应的JVM。该配置在startServer.sh中更改。
2. 根据应用的类型,需调整JVM的垃圾回收机制。
本次应用配置如下:
MEM_ARGS="-Xms2560m -Xmx2560m -Xoptgc -XX:+AggressiveOpts -XX:+DisableExplicitGC -XX:MaxPermSize=256m -Xloggc:gclog.log -XX:+PrintGC
Details -XX:+PrintGCTimeStamps"
MEM_ARGS="$MEM_ARGS -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=360000"
Tags: weblogic10.3.2, jdk1.6, eos
系统工程师 | 评论:0
| 阅读:1244
Submitted by string on 2009, December 11, 11:10 AM
第二章 数据库安装调整
建立oracle用户属于dba group。
# groupadd dba
# useradd -g dba oracle
# passwd oracle
# mkdir –p /oracle/product/10.2/db_1
# chown -R oracle:dba /opt/oracle
此命令和linux有所不同,请注意。
由于我们需要图形化安装,此处还需要设置环境变量。
#vi /home/oracle/.dtprofile
#export ORACLE_BASE=/opt/oracle
#export ORACLE_HOME=/oracle/product/10.2/db_1
#export ORACLE_SID=new
#export ORACLE_TERM=xterm
#export NLS_LANG=AMERICAN
#LD_LIBRARY_PATH=$ORACLE_HOME/jdk/fre/lib/i386:
$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/rdbms/lib:
$ORACLE_HOME/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH
#export PATH=$ORACLE_HOME/bin:$PATH
安装Xmanager 在本机。启动Xmanager – Passive。
#export DISPLAY=10.10.3.151:0
# runinstaller -ignoresysprereqs
Oracle 安装文件会验证HP-UX的版本号,所以需要加上ignoresysprereqs参数
图形化安装,安装时可以同时创建数据库。
选择通用安装即可。
安装到一定的程度的时候,会要求以root的身份执行2个脚本:
$ su root
# /oracle/oraInventory/orainstRoot.sh
# /oracle/product/10.2/db_1/root.sh
安装过程不出现错误,默认情况下,em 会启动起来。
如果命令行不熟悉,可以使用EM。EM在默认安装下会直接启动起来。访问方式
http://10.10.3.151:1158/em或者https//10.10.3.151:1158/em
修改sga,pga的参数。
查看机器信息
#machinfo
……
Memory: 12219 MB (11.93 GB)
……
得出数据库应用服务器的内存为12个G。
独立应用服务器一般建议SGA的大小为应用服务器内存总量的40%。由于本次的应用测试的数据库操作相对简单,而且本次的数据库服务器上需要运行我们的BTF的模拟主机,不属于独立应用服务器,该模拟主机需占用1024M内存,所以在这里,我们给出了SGA的大小为3648M,PGA的大小与并发的数据库连接有关,数据操作频繁但数据量不大的情况下,每个用户占用内存3-5M左右,基于此点,我们给定的PGA的大小为1211M。
此参数在EM中可以很方便的调整。
内存参数,既可以调整SGA和PGA的大小。
如果EM没有启动,只能用命令行修改。
#su – oracle
$SQLplus /nolog
SQL>conn /as sysdba
SQL> alter system set sga_target = ’3648M’ scope = spfile
SQL> alter system set pga_aggregate_target = ’3648M’ scope = spfile
修改processes和sessions的大小。
Processes 对应的是oracle对外的进程数量,比如应用服务器的连接池需要发起350个连接,对应的processes即为350.
Sessions对应的oracle对外的回话数,没有全部启用事务的应用,一次数据库操作即会占用一个sessions。所以sessions需要做适量的调整。
在em中调整如下:
所有初始化参数,即可看到processes和sessions的大小。
如果EM没有启动,只能用命令行修改。
#su – oracle
$SQLplus /nolog
SQL>conn /as sysdba
SQL> alter system set processes = 800 scope = spfile
SQL> alter system set sessions = 880 scope = spfile
修改redo.log
Oracle的数据库日志称为redo log,所有数据改变都记录redo log,可以用于修复受损的数据库。所有的数据改变均需要记录redo.log,所以redo.log的大小,磁盘IO均有一定的讲究。强烈建议把redo.log放置在IO最好的存储中。
在em中,修改如下
重做日志组。即可看到目前的所有redo.log。
可以直接添加。一般情况需要3个512M的redo.log。如果大小不对,可以添加3个512M的redo.log,删除大小不符合要求的redo.log即可。删除之前需让要删除的redo.log处于inactive的状态。
如果EM没有启动,只能用命令行修改。
#su – oracle
$SQLplus /nolog
SQL>conn /as sysdba
SQL> select member from v$logfile;
查看所有的redo.log file。
SQL> alter database add logfile group 4 (' /oracle/oradata/new/redo04.log') size 512m;
添加一个redo.log。
SQL> alter system switch logfile;
切换到下一个redo.log。
SQL>alter database drop logfile group 1;
即可删除上一个使用的redo.log。
在EM中,有一组每隔一个小时自动抓取一次的快照,可以使用快照分析。如下:
快照,即可看到最新的快照。
选中需要查看的报告,点击分析,可以看到一份报告。
查看SQL ordered by CPU Time 即可看到那些SQL最占用内存。
一般情况下,可以不用分析快照。
当CPU的使用达到了一个峰值,在该分析报告中,可以跟踪到对应的SQL。
如果EM没有启动,只能用命令行去生成报告。
$cd ${oracle_home}/rdbms/admin
$SQLplus /nolog
SQL>conn /as sysdba
SQL>@spcreate.SQL
此命令行会需要输入perfstat的密码,默认密码为perfstat。
SQL> exec statspack.snap;
隔几分钟后,具体看压力和数据库的CPU反应。再次执行。
SQL> exec statspack.snap;
SQL> @spreport
需要选择起至的快照。选择ok,需要输入文件名,即可查看文字版本的报告。
同理,查看SQL ordered by CPU Time 即可看到那些SQL最占用内存。
Tags: oracle10g, hp-ux, 安装, 快照
系统工程师 | 评论:0
| 阅读:1099