2009年5月5日星期二

分配linux下tomcat内存使用


打开在Tomcat的安装目录的bin文件的catalina.sh文件,进入编辑状态.
在注释后面加上如下脚本:
JAVA_OPTS='-Xms512m -Xmx1024m'
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m"


其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设置Tomcat使用的内存的大小.

-XX:PermSize=64M -XX:MaxPermSize=256m 指定类空间(用于加载类)的内存大小

利用jconsole远程监控java进程

配置:
1.在远程java的启动脚本增加配置:
如设定远程连接端口号为1090,无密码连接。
-Dcom.sun.management.jmxremote.port=1090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

使用:
在测试机器启动jconsole,在远处主机输入 远程服务器ip;端口填入上述的1090.即可。

2009年4月20日星期一

命令行启动RCP

提供一个命令行启动RCP的脚本。

:: java -jar plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

@echo off

:: set path to eclipse folder. If local folder, use '.'; otherwise, use c:\path\to\eclipse
set ECLIPSEHOME=.
set JAVAHOME=E:\Java\jdk1.5.0_16
:: get path to equinox jar inside ECLIPSEHOME folder
for /f "delims= tokens=1" %%c in ('dir /B /S /OD %ECLIPSEHOME%\plugins\org.eclipse.equinox.launcher_*.jar') do set EQUINOXJAR=%%c
:: start Eclipse w/ java
echo Using %EQUINOXJAR% to start up Eclipse...
%JAVAHOME%\bin\java -jar %EQUINOXJAR% ... -showSplash

将上述脚本保存为bat文件即可。

创建ORA 表空间


DROP TABLESPACE TBS_TEMP

--CREATE USER TABLESPACE

CREATE TABLESPACE "TBS_MONG" DATAFILE
'F:\ORACLE\ORADATA\QA\TBS_MONG.DBF' SIZE 125829120 REUSE
AUTOEXTEND ON NEXT 655360 MAXSIZE UNLIMITED
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO

--CREATE TEMP TABLESPACE
CREATE TEMPORARY TABLESPACE "TBS_TEMP" TEMPFILE
'F:\ORACLE\ORADATA\QA\TBS_TEMP.DBF' SIZE 41943040 REUSE
AUTOEXTEND ON NEXT 655360 MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576

drop user mong0417 cascade;
create user mong0417
identified by mong0417test
default tablespace tbs_mong
temporary tablespace tbs_temp;
grant connect, resource to mong0417;

2009年4月17日星期五

python学习笔记——模块加载

开门见山吧,我这里说的是各个模块不在同一个目录下的情况。

模块加载。

例1:加载指定目录的模块

import sys
sys.path.append('../common/util')
import test

例2:加载不同package目录下的模块(类,对象)

from com.xxx.common.util.test import testTools,parserItem
备注:如果要把文件夹识别成package,必须在文件夹目录下存在“__init__.py”文件。


2009年4月12日星期日

jprofile5 破解

Name: any
Company: any
License Key:
L-Larry_Lau@163.com#16320-dvzxpt17ogmau#013
L-Larry_Lau@163.com#83851-1vyctfjv8d6ua#255
L-Larry_Lau@163.com#83192-56yozpwn6v3n#174

2009年3月19日星期四

【收藏】2000、xp、vasta、2003、2008、Linux系统下载

2000,XP,2003,Vista,2008,Linux系统下载大全|每日更新中...

Windows 2000系统

Windows 2000 SP4 OEM 简体中文版
雨薇 Windows2000 SP4 简体中文版 6in1

Windows XP系统

乡巴佬 GHOSTXPSP3 快速装机专业版 V1.0
布衣联盟 Ghost XP SP3 0901 防黑增强版
布衣联盟 XP SP3 Ghost 官方正式版 V7.0 (LEX 归来)
飞雪清云 Windows XP SP3 繁体精简版
龙帝国MSCD GHOST XP SP3 V 6.0
迈杰工作室WINXP3纯净版 V2.0
卓越 Windows XP sp3 2008年5月20日更新
Windows XP SP3 Roger V5.0 精简版
windows XP SP3 官方VOL简体中文版
深度网吧专用 Windows XP SP3 V4.0 测试版
深度V9FNTFS格式第二次修正版
Deepin XP Lite5.6_VISTA美化纯净Ghost
磐石Ghost XP SP3电脑城技术员专用版 V1.0
迅闪2008专用绿色XP客户机母盘ISO下载
Winxp SP3 3300香港英皇集团IT内部专用版
深度技术 GHOSTXPSP3 快速装机专业版 V 9.0
绿茶网吧系统SP3加速版V2
&
深度技术 Windows XP SP3 完美精简版 V 6.2
深度GHOSTXP SP3快速装机专业版V9.0(NTFS)简体中文修正版
深度技术 GHOSTXPSP3 快速装机专业版 V9.0 修正版
诺德尔奥Yun版 GHOST XP SP2运特别版
番茄花园 Windows XP Pro SP3 V 1.21
深度技术 GHOST XP SP2 纯净版 V5.10 [集成万能驱动,软件可选安装]
Windows XP Pro SP2 上海政府版
深度 Windows XP SP3 V6.2 完美精简版
诺德尔08夏季版 Windows XP SP3 [附算号器]
Windows XP Pro SP2 VOL 英文版
Windows XP Media Center Edition 2005 简体中文版 2CD
Windows XP Pro with SP3 VOL MSDN 简体中文版
联想OEM WinXP SP3 纯净版
Windows XP2 OEM+VOL 26合1 安装版
WINXP-SP2 ICBC工商银行专用版
惠普OEM原版简体中文Windows Xp Professinal安装光盘
Windowns XP Sp2 电脑疯子版
WinXP SP2 PRO ASUS(华硕)OEM版
Ghost XP SP3 快速装机纯净版 统一下载站三周年纪念版
完美者 Windows XP sp3 周年版
雨林木风 Ghost XP SP3 装机版 YN9.5
秋无痕 Windows 2003 SP2 免激活 2in1 集成安装版 v0806
铂金花园 BoJoneXP Plus 9.0 正式版
微软8月安全更新程序ISO映像
奥运正式版WINXP.(PRO)SP3.CHS电脑城装机版
乡巴佬 GHOST XP SP3 快速装机专业版 V1.0
Ghost XP SP3龙卷风纯净版 V1.5 FtpDown
雨林木风 Ghost XP SP3 装机版 YN9.5
WinXP SP3 赢狗电脑公司专用v1.0装机版
萝卜家园 Ghost XP 电脑城装机版 8.8
3G网络 GHO XP SP3 纯净版
奥运正式版WINXP.(PRO)SP3.CHS电脑城装机版
GHOST XP SP3 遐想网络专用加强版4.0 NTFS
GHOST XP SP3 遐想网络专用加强版4.0 FAT32
Ghost XP SP3 999宝藏网电脑城装机光盘4.0内部测试版
GhostXP_SP3 999宝藏网V4.0活力版
雨林木风 Ghost XP SP2 豪华装机版 YD2.0
GhostXP SP3 统一下载三周年美化纯净版
IT姐妹技术论坛 Windows XP SP2 特别版
绿茶网吧系统 Ghost XP SP3 V2 加速版
平板电脑操作系统 Windows XP Tablet PC 2005 Edition VOL(2CD)
乡巴佬 GHOST XP SP3 快速装机专业版 V1.0
Windows XP SP3 Roger V5.0 精简版
萝卜家园 Ghost XP SP3 选择版 0806
诺德尔春风 Windows XP SP3 网吧系统第三版[附算号器]
诺德尔 SNOW 2007 新春正式版 注册机 破解
诺德尔奥 GHOST XP SP2 运特别版
2008诺德尔 Windows XP 简约新春贺岁正式版
诺德尔春风 Windows XP SP3 正式版

Windows 2003系统

上海绿茶 windows 2003 rc2服务器网吧专用正式版
绿茶服务器2003R2正式版
热点2003 SE SP2锐启2100无盘服务器母盘ISO光盘镜像
诺德尔2008 WIN 2003 新春服务器版
Windows 2003 STD SP2 集成安装版 v2007 (秋无痕制作)
石头工作室Win2003-Sp2网吧服务器 A1.0
诺德尔 2008 WIN 2003 新春服务器版
冷风win2003_080408 两重奏
Win2K3_Personal_080408个人精简版
极度精简 win2003 95M 企业版
冷风Win2K3_EE_SP2_Personal_0308_3IN1版
冷风布衣联盟2003完整安装版
冷风WIN2K3_SP2_4IN1终极版11.07
番茄花园 Windows Server 2003 Enterprise R2 V1.0
赢政天下_MSDN_Windows2003Server_X86_ENT_SP2_SATA
冷风Win2K3_EE_0328_2IN1(SP1终结版)
番茄花园 Windows Server 2003 4 in 1 2
系统爱好者论坛 GHOST 2003 SP2 东亚语言版
雨林木风Ghost Win2003 SP1 R2企业版
绿茶WIN2003 SP1专业版新春网吧测试版
冷风2003精简版0218版
龙轩阁 Win2003 Sta SP1 纯净GHOST会员版
亮 2003 精简版
番茄花园 Windows Server 2003 STA_R2_v1.
番茄花园win2003 4N1
Windows.2003.SP1.龙卷风大客户版V2.3
龙族Windows 2003 4in1 简体中文版
Windows.Server.2003.MSCD
WINDOWS 2003 ENTERPRISE SERVER 戴尔简体中文OEM版
Windows Server 2003 VOL标准版原版CHS
Windows 2003 Standard SP1 简体中文版
windows server 2003 原版
XP和Win2003的混血儿系统
新网盟枫叶家园GHOST 2003 纯净版正式发布
秋无痕 Windows 2003 SP2 免激活 2in1 集成安装版 v0806
冷风 Win2K3_EE_SP2_0808_4in1
Windows 2003 Enterprise SP1 简体中文版
Windows Server 2003 R2 Ent With SP2 CHS VOL 简体中文MSDN原版
XP2003 SP2 R2系统青龙出岫Plus2版|2003核心的XP系统

2009年3月18日星期三

Windows Server 2003 Service Pack 1 无法安装解决方法

将以下内容用记事本保存,并将后缀名改为reg,运行该文件即可。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]

"ProductId"="69713-640-9722366-45198"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]

"CurrentBuild"="1.511.1 () (Obsolete data - do not use)"

"InstallDate"=dword:3f6c976d

"ProductName"="Microsoft Windows Server 2003"

"RegDone"=""

"SoftwareType"="SYSTEM"

"CurrentVersion"="5.2"

"CurrentBuildNumber"="3790"

"BuildLab"="3790.srv03_rtm.030324-2048"

"CurrentType"="Uniprocessor Free"

"ProductId"="69713-640-9722366-45198"

"DigitalProductId"=hex:a4,00,00,00,03,00,00,00,36,39,37,31,33,2d,36,34,30,2d,\

39,37,32,32,33,36,36,2d,34,35,31,39,38,00,5a,00,00,00,41,32,32,2d,30,30,30,\

30,31,00,00,00,00,00,00,00,00,e5,3f,e9,6a,2c,ed,25,35,12,ec,11,c9,8d,01,00,\

00,00,00,00,37,03,6d,3f,44,22,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,31,32,32,32,30,00,00,00,00,00,00,00,dc,0f,\

00,00,bf,4a,94,6c,80,00,00,00,15,18,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,34,79,ca,d7

"LicenseInfo"=hex:71,84,c7,56,a0,d6,10,6e,70,b4,9f,e9,10,1a,1e,7a,01,a4,41,09,\

25,20,0e,80,83,80,1f,31,27,86,64,1f,31,dc,22,af,f7,7d,aa,e4,2a,b9,e5,e3,6c,\

e2,01,69,85,70,91,be,a7,9f,95,e5

或者下载已经写好的reg文件:repair.rar

2009年3月3日星期二

java.lang.OutOfMemoryError

1、

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

2、
在tomcat中redeploy时出现outofmemory的错误.
可以有以下几个方面的原因:
1,使用了proxool,因为proxool内部包含了一个老版本的cglib.
2, log4j,最好不用,只用common-logging
3, 老版本的cglib,快点更新到最新版。
4,更新到最新的hibernate3.2

3、

这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。
一、java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

二、java.lang.OutOfMemoryError: Java heap space
Heap size 设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,
其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。
提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
解决方法:手动设置Heap size
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"

三、实例,以下给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

三、相关资料
题外话:经常看到网友抱怨tomcat的性能不如...,不稳定等,其实根据笔者几年的经验,从"互联星空“到现在的房产门户网,我们
均使用tomcat作为WEB服务器,每天访问量百万多,tomcat仍然运行良好。建议大家有问题多从自己程序入手,多看看java的DOC文档
并详细了解JVM的知识。这样开发的程序才会健壮。

VisualVM 监控远程主机

若执行jstatd抛出下面的异常,则是权限不足的问题造成的。

Could not create remote object
access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses wri
te)
java.security.AccessControlException: access denied (java.util.PropertyPermissio
n java.rmi.server.ignoreSubClasses write)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:323)
at java.security.AccessController.checkPermission(AccessController.java:
546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.System.setProperty(System.java:727)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)

解决办法:在jdk目录/…/security/ java.policy 文件中添加下面的代码

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};

保存文件后重新执行jstatd即可。

启动VisualVM后添加 “Remote Host”,输入远程主机的ip地址。

添加成功后,再添加“JMX Connection”,输入远程主机的ip:端口即可。
这里说明一下,JMX Connection的主机端口,指的是被监控的端口,如我监控的是TOMCAT的状况,则端口为TOMCAT的端口。

2009年2月26日星期四

如何成为优秀的软件人才

目录
1. 软件白领的现状
2. 软件白领的职业发展
3. 理工科大学教育的缺憾
4. 成才要素:学习并应用强势知识
5. 成才要素:提高表达能力
6. 成才要素:提高管理能力
7. 成才要素:提升人格魅力
8. 小结,引申,思考…

参考书:《软件工程与项目管理解析》,林锐 著,电子工业出版社,2003


1. 软件白领的现状
1.1 青年白领阶层小康了吗
改革开放20年之后,中国基本上解决了全民的温饱问题。现在国家提出了“全民奔小康”的奋斗目标。所谓“小康”是指全国人均年收入达到1000美元。你千万不要觉得“全民奔小康”这个目标很容易实现。要知道中国有13亿人口,大约有10亿人在拖小康的后腿啊。所以发达地区至少要有10倍于落后地区的经济能力,才能抵消落后地区的负担。
据大致估计,上海、北京等发达城市的软件白领平均年薪为10万元左右。如果进一步细分的话,年薪5万元左右的称为灰领,年薪20万元以上的称为金领。
对于生活在上海、北京、深圳等发达城市的人而言,如果他的年收入只有1000美元的话,那么他就是赤贫阶层了。面对高昂的房价和不低的物价,年薪10万元左右的人也许有胆量谈小康。所以大部分白领人士将和农民一样,不得不为小康而长期奋斗。
1. 软件白领的现状
1.2 男士白领成家立业的艰辛
尽管软件白领是令社会大众羡慕的阶层,但是男士们成家立业的艰辛程度丝毫不亚于农民和蓝领。这是因为他们所负的压力远远超过了经济收入。
“月光王子”的潇洒日子是短暂的。
家的三大构成要素是“男主人、女主人、房子”。根据中国的传统习俗,买房子这个重任主要由男士来挑,女士的主要本事将用在有房子之后治理这个家。
工作才两三年的小伙子全靠自己的积蓄难以支付“房子的20-30%首付”。在亲人和朋友们的帮助下,好不容易买了房子,接下去每月都要还银行贷款。
当他的工资扣除税收、缴掉各种保险金、还银行住房贷款之后,顿时所剩无几。这时如果再让他肩负家庭的生活费用,他就不再是白领了。我已经多次听到一些小伙子们恨恨地说:自从买了房子后,我就活得像个民工,开始为家庭的温饱而奋斗。
这就是目前普通软件白领的生活写照,如果他不能在事业上有大的跃进,生活的压力将逐渐磨灭他的斗志,后半生就平淡如水。
大多数人并不甘心平庸,所以他不停地奋斗,不停地承受更多的压力,这种“死循环”程序在读大学的时候就已经编写好了。
《读者》曾经刊登了一篇文章叫“中国的男人为什么不浪漫?”,估计是悠闲女人写的。其实不必写那么长的文章,一句话就可以解答:因为他太累了。
2. 软件白领的职业发展
2.1 编程这活究竟该干多久?我们是否要一辈子编程?
这不是愿意不愿意一辈子编程的问题,而是能不能的问题!
编程这活儿可以算是青春饭,合适的年龄是20至30岁之间,比女孩子的青春还要短。20来岁在大学里学编程,虽然刚开始时水平比较臭,但是学习劲头很足,进步比较快;到25岁左右时编程技能、编程效率达到高峰;之后,编程水平基本停滞不前,但是编程效率逐渐下降,到30岁左右已经不是编程主力军了。
程序员不能老是捧着旧饭碗,年龄大到不再适合于编程时,并不是说这个人就无用了,而是应当去做更加有价值的事情。
可恶的励志古训“三十而立” ,其含义是男人到30岁时应当:(1)建立安全的家庭,也就是让老婆孩子过上小康的日子;(2)在事业上有所建树,不再是无名小卒。
由于古时候中国男人的平均寿命不到50岁,而且都是男人当家,所以如果男人活到30岁还不能立起来,基本上就没有指望了。但是现代中国男人基本上能够活到70岁,读书时间花得很长,因此“四十而立”是比较符合现代国情的。
不幸的是,女士们不仅广泛接受了“三十而立”这个观念,而且还把它升华为考核男人成败的标准。因此,男生一离开学校就要为“三十而立”奋斗,时间紧迫,压力太大。

2. 软件白领的前途
2.2 软件人员三十岁该干什么?
如果30岁了,他还天天编程,估计他很难完成“三十而立”这项艰巨任务。如果完成不了,只好向家庭领导申请延期,被家庭领导捏住把柄。
更糟糕的是,30岁的程序员比起25岁左右的新生代程序员,毫无竞争优势可言。
由于软件技术更新极快,编程语言和编程工具都会革新换代,新生代程序员在掌握新技术方面具有先天优势。
30岁的程序员面临的家庭事务比较多,压力大,上班时常感困乏,工作老是分心,编程效率自然落后于更年轻的小伙子们。所以对于程序员这个职业而言,绝对无法倚老卖老。
如果年长的程序员不能在软件工程和项目管理方面发挥优势,那么他的前途可能比较黯淡了。
“编程至上” 的观念不利于职业发展。
程序员出身的人往往对编程情有独钟,很难接受“软件人员不再编程”的观念。几年前我也是成千上万个狂热程序员中的一员,信奉“编程至上”。我到企业工作几年后,逐渐改变了“编程至上”的观念。英名的领导会根据团队利益最大化这个目标开展工作,而不能把编程当作团队工作的核心。
我放弃编程并不是因为自己老得编不动了,或者偷懒,而是因为我继续编程的话将使自己没有精力去做更加重要的事情,“机会成本”实在太高。
2. 软件白领的前途
2.3 软件白领的常规职业发展
在外界看来,做个程序员是蛮光彩的。但是我们自己切勿轻易满足,软件行业还有许多比编程更有价值的工作。
有个朝鲜官员第一次到中国参观学习,感叹万分…
软件白领的常规职业发展大致可分三个阶段:
第一阶段,做个职业程序员,主要工作是编程、测试和维护,领导让他干啥就干啥。
第二阶段,成为项目经理或同等级别的技术负责人,从事项目管理、需求分析、系统设计之类的工作,带领一批程序员干活。
第三阶段,成为机构(企业或者事业部)的领导,成天琢磨怎样让机构赚更多的钱,决定产品的发展战略,然后让别人去开发产品。
软件白领处于第一阶段为合格,处于第二阶段为良好,处于第三阶段为优秀。比较合适的年龄分别为25岁左右、30岁左右、35岁左右。第一阶段比较容易实现,第二阶段需要一定程度的努力,第三阶段则靠奋斗了。
3. 理工科大学教育的缺憾
中国大概只有几所大学才有那样的气魄:我们培养的是国家栋梁之才,而且的确做到了!
国内绝大多数理工科大学的教育目标是:让学生们成为出色的工程师,毕业后找份好工作。说得难听一些,就是培养出色的打工仔。
这种教育方针导致无数有天赋并且勤奋的青年学生逐渐演化成为只懂技术、没有思想、缺乏抱负的平庸之辈。
学校正规教育的大部分内容是对人生有益的,但是也夹杂了不少愚昧的教导。遮蔽人生精彩的通常不是困难和挫折,恰恰就是愚昧观念。书呆子呆就呆在全盘接受了“好的和愚昧的”教育,结果让自己成为有知识的无知者。
我分析自己以及许多同行人士的成败得失,经多年思考之后,总结了“让普通人成为优秀软件人才”的简要模式。除了自己身体力行外,我还言传身教于所认识的软件人员。虽非真理,但比起学校里面冗长乏味、空话连篇的政治、成才教育等课程更具实用价值。
4. 成才要素:学习和应用强势知识
4.1 什么是强势知识
在解释什么是强势知识之前,我们先举例说明它的反义词——垃圾知识。
《读者》有一篇文章说,国内有个杜甫研究专家在国际上拥有一项独一无二的研究成果,他用了19年时间研究证明杜甫是吃牛肉死的,因此成为权威。
人们总以为研究杜甫是为了让人们更好地欣赏高雅的诗词,没想到有人执著到用19年时间研究杜甫是吃什么死的。这个研究成果不是学问,它对人类社会毫无价值,称之为垃圾知识最恰当不过了。
世界上的知识无穷无尽,没有人能够学得完。然而人的寿命却是有限的,对于世上的绝大多数人而言,学习知识的目的是为了使自己、家庭、乃至社会变得更加美好。我们听惯了“知识就是力量,知识就是金钱”的格言,殊不知劣质的知识就是垃圾。万一我们花了大半辈子时间学习或制造垃圾知识,那人生岂不可悲!
知识的价值可以用创造出来的社会财富(包括物质财富和精神财富)来衡量。所谓强势知识就是“能够最快地为社会创造最多财富的知识”。我们应当在短暂的、富有生命活力的时间里学习和应用强势知识,而不是垃圾知识。

4. 成才要素:学习和应用强势知识
4.2 把事业建筑在强势知识之上
由于人的精力和特长都有局限,所以人们常说“有所为而有所不为”。同理,我们应当“有所学而有所不学”。一般地,人们应当根据自己的兴趣、毅力、悟性(天赋),发掘适合自己的强势知识,并把事业建筑在强势知识之上。
要好好分析自己究竟对什么感兴趣。当然,你感兴趣的东西未必都能学得好,更未必成为你的事业。在读书的时候换专业,工作的时候改行都是很正常的事情,年轻人切勿过多地受正统教育观念的束缚。我并不推崇“干一行爱一行”这样的口号,因为爱和不爱都是发自内心的,无需听从口号。我更不赞同在事业上“择一而终”,因为这可能使生命失去色彩。人是易变的,只要朝着更加适合你的方向改变,就叫“与时俱进”。
林锐的学习经历和工作经历…。回顾十多年的读书和工作生涯,我不断地改变兴趣,常常在付出努力之后再放弃,得失参半。我并不后悔,因为这是一个积极的探索过程,没有放弃就不能轻装前进。尽管目前自己干得不错,几年之后我仍然会放弃,继续探索新的兴趣,掌握更多的强势知识。
4. 成才要素:学习和应用强势知识
4.3 真才实学优于学历
在十几年前学术还比较纯洁的年代,学历代表着学问,高学历者受人敬仰。我在读中小学的时候,对学士、硕士、博士无比地向往。然而世风日下,如今市场上到处可见假冒伪劣产品,与此呼应,中国大学也大量生产假冒伪劣的人才,令人愤慨,令人伤心。
学生毕业之际,谁都想找一份好的工作。对于IT相关专业而言,90%以上的学生要到企业工作,因为只有企业才能接纳千军万马。大量的硕士生和博士生学了一身的屠龙之技,精通了纸上谈兵,可是企业不欣赏屠龙之技,更加讨厌纸上谈兵。
企业对毕业生的一些看法:
有2~3年工作经验的名牌大学本科生是干活的主力军,他们正当青春、干劲十足、不摆架子、不耻下问、要求不高、奉献甚多。可见国内名牌大学的本科教育相当好,令人放心。
名牌大学的硕士生却是鱼龙混杂,好的很好,差的极差。究其原因是,有半数以上的硕士是改行过来的,专业基础很差,所以这类硕士生不如本科生好用。
按照目前国内大学教育的水准,根本没有能力培养如此至多的博士生。毫不客气地说,最近几年生产出来的博士生,极少数是精英人物,小部分是合格人才,绝大多数是不合格的。国内大部分博士真的是很可怜。从硕士读到博士出头,这六七年时间,尽干些自欺欺人的学问,真本事没学多少,倒学会“眼高手低”甚至“弄虚作假”;毕业时学问既不深也不博,被企业拒之门外后,蓦然回首,发觉青春已被虚度,心灵已呈老态,唯有长叹短嘘,强把自负作自信。博士生“阿溃”的遭遇……
对狂热考研、考博的人们一个忠告……
4. 成才要素:学习和应用强势知识
4.4 为事业而学习
如果你生活在竞争激烈的社会里,特别是在IT行业,事业将毫无疑问成为男人的重心。尽管事业成功并不见得就使你幸福,但是事业却是幸福的基础。如果男人在事业上无所建树,那么他十有八九活得很失败。
一般地讲,除了运气之外,你所掌握的强势知识决定了事业状况。不论是在学校里还是在企业里,都要懂得为了事业而学习
根据事业的目标,确定对应的强势知识结构,有目的有步骤地学习这些强势知识。(在大学里所学的仅仅是专业基础知识而已,只够让你成为工匠挣口饭吃,不要以为自己是个本科生、硕士生或者博士生就翘尾巴。 )
学好基础知识。把事业比喻为高层建筑,那么基础知识就相当于地基。 ……虽然我们强调基础知识的重要性,但是也不能过度地推崇,基础应该与事业目标匹配起来,要考虑机会成本。
读书时扬长补短,工作时扬长避短。 ……“补短” 是指补习你不擅长的知识,因为这些知识对你的事业也非常重要,并不能因为你不擅长就可以甩掉它,如果不补短的话,短处将常常拖你的后腿。 ……人们工作的目的是为了创造效益,要给企业和自己多多赚钱,而不是单纯为了提高自己的知识水平。所以在工作的时候一定要“扬长避短”。
不仅要学习新知识,还要向错误和失败学习,形成学习的良性循环。我们从小学读到大学毕业,一直都在学习新知识,一直信奉“好好学习,天天向上”。然而我们不能把眼光仅仅盯在新知识上,不管是生活还是工作,人们都应该向错误和失败学习,目的是让我们在短暂的健康年华中少犯错误、少失败,多做几件正确的、对社会有贡献的事情。
5. 成才要素:提高表达能力
5.1 树立正确的观念
表达能力主要是指“写”和“说”的能力。“写”和“说”是人们向外界表达自己才华的重要途径。表达能力低下是中国软件开发人员的通病,值得业界高度重视。
很多软件开发人员怕写文档和报告,讲述问题和想法时语无伦次。由于表达能力差,他就无法胜任需求开发、系统设计、管理等高层次的工作。即使他的技术水平很高,但发挥不出来有什么用?只好长期干编程、测试的活儿。
在允许自由竞争的环境中,如果有人埋怨其才能被“埋没”了,通常是他自己的错。如果真有本事,你就应该自己冒出来,怎么会被“埋没”呢?难道非要等着别人来照顾你不成?
我认为导致“表达能力低下”的主要原因是软件开发人员的脑子里有迂腐可笑的观念:他认为表达能力是可有可无的,而技术才能才是惟一重要的。
当领导的通常都是能说会写之人,而不是技术最好的人。如果你不擅长写和说,你可能永远都不能当领导!
有些人把“表达能力差”归结为读小学、中学时文科学得太差,现在补习已经来不及了。这是绝对是谬论,我就是极好的反例。我读小学、中学时文科学得极差,高考语文成绩才54分(总分120分),普通话一句也不会讲……我是一个智力平平,出身贫穷的普通人。既然象我这种语文功底极差的人都能把“表达能力”练得那么好,相信绝大部分人也能办得到。
不要找借口了,为了自己的前途,请赶紧锻炼表达能力。
5. 成才要素:提高表达能力
5.2 怎样提高写作能力
好文章有四大构成要素:内容、逻辑、实证、措词。
内容是文章的灵魂。如果你没有内容可写,那么无论你的文笔多么美妙,你都不可能写出好文章来。“巧妇难为无米之炊”就是这个道理。
古时候,一位书生在大考前成天愁眉苦脸 ……
内容从哪里来?内容不是流水帐,它来之于你对工作和生活的思考。当你思考明白“是什么”、“为什么”、“怎么办”等基本问题时,你就有了可写的内容。
表述内容要符合逻辑。当你有了可写的内容后,就要努力用文字清楚地表达出来,设法让别人容易理解。如果你写的文章颠三倒四,让别人看得很累,即使文章的内容不错,也不会受人欢迎。 ……一篇条理清晰的文章,你只要浏览段落标题,就能明白个大概。
如果你自己都觉得文章不通顺,那么不要在文字上改来改去,免得白费力气,因为真正的原因是你没有把问题想透彻,所以条理不清。
内容要有真凭实据(即实证)。文学类的文章可以虚构情节,可以夸张,但是科技文章不允许这样做。科技文章中可能存在错误的观点和结论,这是在所难免的,但是绝不允许在科技文章中造假。
5. 成才要素:提高表达能力
5.2 怎样提高写作能力
措词追求“正确、准确、优美”。科技人员写作的语病通常有规律性,所以如果有高人指出你文章中的语病时,你要善于总结,举一反三消除类似的语病。……汉语的词汇、妙语特别丰富,你只有在平时多读书、多多铭记好词好句,才有可能写出准确优美的句子。
中国移动通信曾经在《环球时报》上刊登了这样的广告:神州行给全球通发了一条短消息,说我神州行自5.17起也有了短消息。全球通也给神州行发了一条短消息,说我全球通知道你神州行自5.17起有了短消息,以后不但神州行和全球通都可以发短消息,而且神州行还可以给全球通发短消息,全球通也可以给神州行发短消息,也就是说神州行自5.17起有了短消息,神州行和全球通可以互发短消息。……
这个广告的罗嗦程度简直可以与电影《大话西游》中的唐僧语录相媲美!“罗里罗嗦”是“准确”和“优美”的天敌,我们首先应当消除“罗里罗嗦”这个普遍存在的大毛病。
小结:我们不仅要勤于练笔,而且要在实践之中领悟写作的方法和技巧。不论是写技术文档还是写论文,我们都要重视“内容、逻辑、实证、措词”。这是提高写作能力的有效途径。
5. 成才要素:提高表达能力
5.3 怎样提高“说”的能力
我们在日常生活和工作中说话自如,一点问题都没有,可是很多人在正式场合演讲(做报告)的时候却常常语无伦次、局促不安,尤其是有高层领导在场时。
我们首先要克服怯场的心理障碍。大多数人不是天才的演说家,所以在前几次做报告时表现不佳是正常的现象,不必太在乎。我们要有勇气走上讲台,面对许多人演讲,哪怕当时心里发抖,越早迈出第一步对你的事业越有益处。
我是在读硕士一年级的时候举办了自己的第一次学术报告会。尽管我当时毫无演讲经验,心里也害怕出洋相,但是我早就意识到表达能力对事业的重要性,于是鼓励并且强迫自己把这第一次学术报告做好……
和写作一样,我也没有受过专业的演讲训练。既然我现在很能“说”,可见别人也能做得到。根据我自己的领悟,我总结了简单有效的“说”的方法和经验,适用于演讲、做报告、培训等,供同行们参考。
充分准备。演讲的目的是阐述自己的见解,而不是耍嘴皮子。演讲的内容是第一重要的,至少要对得起听众们付出的成本(例如时间成本)。所以我们在演讲之前要好好准备内容,最好把内容制作成电子讲义(例如PowerPoint文件),不仅在现场可以播放,还可以让听众带回去阅读。如果你是新手,那么你最好先练习几遍,熟记内容并且控制时间,避免在现场手忙脚乱。
5. 成才要素:提高表达能力
5.3 怎样提高“说”的能力
仪表整洁,精神抖擞。很多搞技术出身的IT行业人士对自己的仪表比较随意,常常不修边幅。在干技术活的时候是允许的,但是在正式场合演讲的时候可不能这样,否则会损害自己和公司的形象。如果演讲者邋里邋遢,精神委靡,他还没有开口就被听众瞧扁了。所以我们要先在家里修理自己,尽管大多数人并不英俊潇洒,但是“仪表整洁,精神抖擞”还是做得到的,关键是自己要有这样的意识。
声音响亮。不论有没有扬声器,你在演讲的时候声音要响亮。这不是听得到听不到的问题,而是底气足不足的问题。如果你声音响亮,自己就会越说越有劲,听众会被你的热情感染。反之,如果你的声音很小,自己就越说越没劲,听众就会窃窃私语或者干脆打瞌睡。
戒掉烦人的口头词。很多人不知道从哪里传染了烦人的口头词,一开口就讲“就是说”、“等于说”、“说句良心话”、“说句心里话”、“说句老实话”等等。这些口头词对你表达见解毫无用处,反而扰乱视听,令人厌烦。
说普通话,并控制语速。在演讲的时候要说普通话而不能用方言(外语除外),这是对听众的尊重。有一次我参加质量管理研讨会,与会者大多是上海人。有个ISO9000的评估师做报告,一会儿说普通话一会儿说上海话,而且还讲一些只有上海本地人才听得懂的故事,我忍无可忍后愤然离席。很多南方人普通话说得不标准,偏偏说话又很快,这在日常生活中没有问题,但是会严重影响演讲的效果。
现场交互,调动听众的积极性。对于时间比较长(半天以上)的报告会和培训课,讲师不要只顾自己讲,要设法与听众现场交互从而调动听众的积极性。
6. 成才要素:提高管理能力
6.1 观念
宽泛地讲,管理能力是指带领团队完成任务的能力。管理的领域很广,例如项目管理、营销管理、财务管理、人力资源管理、企业管理等等。一般地,一个人的管理能力决定了他能够当多大的官儿。
IT行业的技术性很强,纯粹学管理出身的人由于不懂技术而难以立足领导职位,这就给搞技术出身的人才留下了发展机会。搞技术主要用脑,搞管理主要用心。技术才能取决于智商(IQ),而管理才能取决于情商(EQ)。如果你的IQ和EQ都比较高,那么你就是当领导的料。如果某人的IQ很高但是EQ却很低,那么就请他走技术专家的路线,切勿走错道。
搞技术出身的软件人员并不见得一辈子都要搞技术,他将来有可能成为中高层的经理,也有可能成为优秀的企业家(Bill Gates就是好榜样)。
保守一点讲,先搞技术,拥有一技之长后再逐步转向管理,这是一种稳扎稳打的职业发展模式。我甚至认为这种发展模式特别适合于中国的IT人士,我自己就是走这样的道路。
6. 成才要素:提高管理能力
6.2 如何提高管理能力
要有当领导的愿望。
不甘心做普通技术员的人们,何不大胆明白地对自己讲“我想成为杰出人才,所以我要一边搞技术,一边提升管理能力,在不久的将来成为领导者”。
要有自学成才的信心。管理能力主要是靠自己练出来的,别指望他人手把手地教你怎么管理。
有人说:“上级领导不提拔我当一个经理,我哪有机会锻炼管理能力啊!”这话就像“在没有学会游泳之前我绝不游泳”一样矛盾。
一般地,搞技术出身的人,他的智商是足够学习管理了,因为没有哪本管理学书籍比高等数学还难。学习管理并不需要专门去读MBA这类学位,有不少大企业家没有读过大学,照样可以指挥千军万马。我也遇到过一些迂腐透顶的管理学博士,其管理水平连普通员工都不如,完全白读书了。如果你有比较高的悟性和EQ,完全可以自学成才成为管理专家。
正确地学习基础管理知识。每个行业都有它自己的基础管理知识,显然不能把管理饭店的方法套用到IT企业中。
如果你想成为软件团队的领导,我强烈建议你学习两门管理学问:一是国际项目管理协会(PMI)研制的“项目管理知识体系”(PMBOK),二是美国卡内基梅隆大学软件工程研究所(CMU/SEI)研制的“软件能力成熟度模型”(CMM/CMMI)。
如果你精通PMB和CMM/CMMI,你的知识足以管理大型的软件项目。随着你的职位的升迁,你要不断地补充管理知识(如市场营销、财务管理等)。
6. 成才要素:提高管理能力
6.2 如何提高管理能力
从项目经理做起。
如果你想在将来成为企业的领导,你最好从项目经理做起。道理如同“在当将军之前,应该先当好班长”那样。
项目经理虽然是小小的官儿,但是麻雀虽小五脏俱全。如果你连项目经理都当不好,却想一步登天当更大的官或者自己创业当老板,除非你是天才,否则必败无疑(我自己失败了,我也看到很多高才生失败了)。
即使你雄心勃勃,你也要先积累支撑你雄心的资本,你要明白“不扫一屋,何以扫天下”这个道理。
项目经理这个职位对于大部分软件人员来说是触手可及的,而不是可望不可及的,所以不要轻视项目经理这个职位,这是你锻炼管理能力的绝佳机会。
7. 成才要素:提高人格魅力
7.1 观念
出色的技术才能和管理才能可以让人获得很高的职位,但是如果缺乏人格魅力,即使他成为最高领导也成不了领袖。领导是一种行政职位,可以被任命也可以被撤职(或者,惹不起总躲得起吧)。而领袖则是活在人们的内心里,他让人们发自内心地尊敬和服从。
企业没有领袖就等于没有灵魂,广大员工和领导者没有精神上的联系,仅仅存在雇佣关系,所以不会发生“同甘共苦”这种美好的故事。很遗憾,我以前所在的公司没有领袖但是有许多大大小小的领导,大部分企业都是如此。
领袖人物必定具备卓越才能和超凡的人格魅力。领袖人物最理想的生命轨迹是:当他充满智慧的时候成为人们的领袖,为大众带来巨大财富;当他即将昏庸无道或者成为独裁者的时候,突然神秘消失,避免给大众带来灾难。
人的体格和容貌是非常重要的魅力因素,称之为身体魅力。男人都渴望自己长得又高又帅,但身体魅力是天生的,上天会让大多数人失望。
我小时候也和大多数缺乏身体魅力的人一样长期自卑,当然现在也仍然自卑,只是不经常牵挂而已。为了减少弱势,我不得不发奋学习不断提高知识才能,并且要经常作思考状以提升人格魅力,估计要一辈子累下去了,因为没有别的窍门。
下面将探讨男人的主要人格魅力因素:胸怀宽广、意志坚强、知人善用、社会责任心。


7. 成才要素:提高人格魅力
7.2 男人的主要人格魅力因素
“胸怀宽广”是男人的重要美德。即使人的长相和才能都很普通,如果他的胸怀很宽广,他仍然会让很多人欣赏和接近。反之,才华出众但是心胸狭窄的人,通常是孤家寡人。
要领悟“宰相肚里好撑船”这个道理。
北方人豪爽、憨厚的性格是习俗形成的,隐含了不少缺陷,如果不经后天有意识地雕凿,就不会产出很高的附加值。
撑大自己胸怀的过程其实很难过,因为你要敞开心胸接纳许多你原本不喜欢的人和事物,要强作笑脸虚心接受批评、知错就该,甚至在遭受伤害后只好自己悄然抚平伤痛。所以“胸怀宽广”这种美德是后天苦心修练出来的。
与“胸怀宽广”相媲美的另一种美德是“意志坚强”。人们通常在顺境之中意气风发,而在逆境中萎靡不振。很多有才华而意志薄弱的人在遇到巨大挫折或失败的时候,就一直倒下去了,其实他败给了自己。人生常有不测风云,人的意志是对抗不测风云最有效的武器。
作为领导者的男人一定要有坚强的意志,这样他才能给人们带来强烈的安全感。每当遇到大风浪的时候,人们会自觉地凝聚在领导者的周围,共同克服困难。否则一有风吹草动就人心惶惶,大难临头各自逃。
坚强的意识也不是天生的,是在经常与困难搏斗的过程中积累的。其中的诀窍是,每次的困难不能超出你所能够承受的极限,否则你会被完全击垮,意志再坚强也回天无力。所以男人应该有胆魄闯荡江湖,坦然地迎接成败得失,但是绝对不可以胆大妄为,做出自己无法承受的事情。

7. 成才要素:提高人格魅力
7.3 男人的主要人格魅力因素
有意识地培养“知人善用”的人格魅力,同时不断积累“知人善用”的方法技巧,才可能使自己在将来成为卓越的领导者。
要与各色各样的人打交道,拓展你的交际圈(当然,不能烂交朋友)。宏伟的事业是领导者带领广大群众创造出来的。世上的大多数人并不和你志同道合,你不能仅仅和你喜欢的那类人打交道,将其他人拒之门外,否则你的圈子实在太小,根本没有人可用,谈何善用。有学问的人常常会走向自命清高,自命清高者一般成不了好领导,我们要引以为戒。
要有真正与他人分享利益的气量。大部分人干事业都是利益驱动的,这是正常的心态。领导者要努力给每个人恰如其分的利益(金钱、地位、荣誉等),而不只是利用他们,这样才能树立信誉,长期把人才凝聚在一起。
回馈于社会。一个成功的人必定从社会中获取了许多有价值的东西,所以他也应该更多地回馈于社会。欧美国家有一种不成文的习俗,许多人功成名就之后总是积极地从事慈善事业,尽管某些人在赚取财富的时候令人讨厌,但是他通过慈善活动把财富很合理地归还给社会,产出了很高的社会价值。
社会责任心不是以金钱来衡量的,而是以道德来衡量的。才华出众的人大部分都是社会中的强者,他们比普通人更明白怎样使社会变得更加美好。我们随时随地都有能力去做使社会更加美好的事,而不必等到我们功成名就之后。
具有社会责任心会让人们变得高尚,这是金钱买不来的。

8. 小结,引申,思考……
成为优秀的人才并不意味着会发财,正当发财主要靠的是商业头脑。尽管我也渴望拥有巨大的财富,但是我缺乏敏锐的商业头脑,目前只能算是个高级白领、活得不错而已。等我将来发财了,再讲讲“发财之道”。
成为优秀的人才并不意味着幸福,幸福的人也不一定要求优秀。对幸福影响最大的通常是人的缺点而不是优点。一张白纸上的一个污点远比脏纸上的许多污点醒目得多,如果你拥有99%的优点,那么你的1%缺点将发挥99倍的效果,足以击毁优秀带来的好处。
在社会这部冗长的“连续剧”里,优秀的人忙碌地演戏,普通人看戏,这叫生存而不是生活。当你强壮到既不必演戏也不必看戏的时候,真正的生活开始了。
我强烈反对年轻人流传“平平淡淡才是真”这样的颓废语录,因为他们还不知道什么是“人生真谛”的时候,就把青春平淡地消耗了。只有先努力成为优秀的人才,才有实力享受平淡是真的生活。
思考与练习:
请你和同事们、朋友们交谈你所在城市的软件白领现状(包括就业状况、薪资待遇、住房、家庭生活、健康状况)。你对自己的状况满意吗?你还有学生时代的抱负吗?你如何把握自己的未来?
你对自己的表达能力满意吗?你是否意识到表达能力对你职业发展的影响?请设法在日常工作中有意识地锻炼表达能力。
规划你的职业发展路线,描绘适合你自己的强势知识结构,制定学习计划并立即行动,将你的事业建筑在强势知识之上。

LoadRunner 性能测试心得

操作流程

第一次没用经验,直接就上马,没有执行性能测试操作流程。

应该采用“测试计划->设计测试用例->录制测试脚本->执行测试->分析测试结果”的流程。

测试计划

分析应用系统、定义性能测试目标(确定需求对应的度量指标)、计划LoadRunner执行过程。

设计测试用例

分析测试需求、确定测试负载、确定用例细节。下面这个表格形式是从网上摘抄来的,觉得可以借鉴。

测试序号

脚本名称

测试目的

测试数据及条件

脚本描述

描述

录制步骤

事务

同步点

测试场景描述

场景12个用户并发、循环1次(测试报告文件名称)

场景27个用户并发、循环1次(测试报告文件名称)

测试结果验证

测试环境恢复

录制测试脚本

在录制脚本时,要注意几点:

1、 录制虚拟用户脚本;

2、 优化脚本(针对当前测试用例);

3、 在单击模式下运行测试脚本;

4、 将虚拟用户合并到场景中;

5、 关于LoadRunner调试:在需要设置参数或者关联的地方,可能因某些原因,不能正常获取,那么可以利用LoadRunner的打印函数+调试(F)来便于我们分析数据,eglr_log_message("parent dclass id:%s",lr_eval_string("{parentId}"));

6、 关于使用“手工关联”的几点注意:

A. 若关联的字符串较长(超过255个字符),则需要在Action后增加参数长度申明,egweb_set_max_html_param_len("1024");

B. 若不了解关联的左右边界,可以通过“Tree View”方式浏览,选择“Server Response”,找到提交的字符,如图:

C. 关联函数一定要放在页面之前申明,

egweb_reg_save_param( "dataStateModify", "LB=name=\"state:data/ModifyDClass\" value=\"", "RB=\"", "Ord=1", "Search=Body", "RelFrameId=1", LAST );

执行测试

执行脚本时,要注意几点:

1、 要运行一个完整的测试场景

2、 要设置Run-Time属性:包括每个虚拟用户执行迭代次数、Think time设置(默认是采用录制脚本时的时间。)

3、 针对虚拟用户执行步骤时间控制,可以在Controller的“tools->Options”,如图:

4、 对于浏览器缓存的配置,可以在“Run-time setting”的“Browser Emulation”里设置,如图:

5、 更多“Run-time setting”配置项,如HTTP请求连接超时时间(默认120s)等可以在“Perferences->Options…”如图:

6、 对于使用了参数的脚本,若参数分配是采用“Unique+Once”方式的(适用于按序分配参数记录,每个虚拟用户分配一次),则参数行数必须大于或等于虚拟用户个数,否则会报“insufficient records for param…”之类的异常;还有一个情况,是在执行测试中发现的,不知道算不算LoadRunnerbug。即第一次参数记录有2个,设置虚拟用户2个正常运行;再修改参数记录为5个,设置虚拟用户5个,不能执行,也是报上述错误。经不断尝试,发现为这个脚本创建一个新的场景就能正常运行了。

7、 在运行测试时候,发现LoadRunner会出现集合点失效的现象,即设置了集合点,但是并发用户并非等待到一起运行,先加载的虚拟用户就会先运行直至结束,唯一解决办法就是需要重新启动场景。

分析测试结果

1、 这个是本次性能测试的弱项,还需要进一步提高。

2、 由于资源记录情况,是针对整个脚本运行场景的,他没有与单个事务关联(或许是我还没有找到。。)所以事务的资源消耗情况,是采用整个场景完整运行的资源消耗数据的。(不够精确)

测试经验和教训

1、 前期测试计划和测试用例一定要做好,这样才有章可循,提高录制脚本和执行测试效率;

2、 测试计划一定要参照应用系统和实际运行情况来制订,做到有的放矢,不要拍脑袋;

3、 一定要科学合理的评估测试总工作量(按照测试流程制订测试计划来评估);

4、 当脚本录制确认无误(通过回放来判断),运行场景却总是报莫名其妙的错时,可以尝试创建脚本的新场景来运行;

5、 录制的脚本、场景数据、分析报告等文件一定要有较好的命名规范,做到看文件名即明白这个文件是什么,便于管理;

6、 不要丢弃原来旧的测试结果;(这样,可以用于不同版本进行对比)