自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

软件性能工程

Live Every Day As If It Were Your Last

  • 博客(34)
  • 收藏
  • 关注

原创 grinder进程管理分析

grinder agent的进程有2种,agent进程和子进程worker。grinder agent进程的主入口是Grinder.java类。1. 进程的启动。class Grinder.java  public static void main(String[] args) {    try {      final Grinder grinder = new Gr

2012-07-10 11:28:47 2172

原创 grinder脚本解析原理

先看个典型的grinder脚本from net.grinder.script.Grinder import grinderfrom net.grinder.script import Testfrom net.grinder.plugin.http import HTTPRequesttest1 = Test(1, "Request resource")request1 =

2012-07-10 10:13:33 3016

原创 grinder 进程管理

grinder agent 进程的主入口class Grinder.java  public static void main(String[] args) {    try {      final Grinder grinder = new Grinder(args, logger);      //调用grinder的run方法。      grinder

2012-07-06 10:01:58 2184

转载 Runtime.getRuntime().addShutdownHook(shutdownHook);

Runtime.getRuntime().addShutdownHook(shutdownHook);    这个方法的含义说明:     这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。

2012-07-06 10:01:16 2014

转载 Eclipse快捷键大全(转载)

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2012-06-03 22:17:21 1783

转载 Linux下抓包工具tcpdump以及分析包的工具wireshark

1.第一种是关于类型的关键字主要包括host,net,port例如: host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host. 2.第二种是确定传输方向的关键字主要包括src , dst ,dst or src, dst and

2012-06-03 16:34:08 5020

原创 java System.getProperty()系统参数大全

Properties props=System.getProperties(); //系统属性     System.out.println("Java的运行环境版本:"+props.getProperty("java.version"));     System.out.println("Java的运行环境供应商:"+props.getProperty("java.vendor"));

2012-05-24 10:31:06 2109

原创 java 设计模式--策略模式(strategy)

策略模式的官方定义是:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的边哈独立于使用算法的客户。有点抽象,使用head first  设计模式的鸭子例子来解释就比较清楚了。设计原则:1. 把需要变化之处,独立出来,和那些不要变化的代码分开。2. 针对接口编程,而不是针对实现编程。鸭子的行为,飞和呱呱叫分别设计成2个独立的接口,不同的实现,比如不能飞,用

2012-05-22 11:01:49 1880

转载 使用Eclipse的代码追踪功能

在使用Java编写复杂一些的程序时,你会不会常常对一层层的继承关系和一次次方法的调用感到迷惘呢?幸亏我们有了Eclipse这么好的IDE可以帮我们理清头绪--这就要使用Eclipse强大的代码追踪功能。1、用Open Declaration可以查看类、方法和变量的声明。这是最常用的一个功能了,如果在要追踪的对象上点右键,选择Open Declaration,可以跳转到其声明的地方。这个功能

2012-05-17 21:12:35 9918 1

原创 纪念我的iriver T7

今天从抽屉中发现好久不用的T7,真的是好久好久没用。现在有电脑,很少用MP3.由于上次T7被我格式化后,发现每次插入电脑当U盘都需要格式化。后来才发现是格式化的时候,我文件格式选错了,选了NTFS,而不是FAT32。用FAT32重新格式化后,又可以听歌了。这个MP3是08年买的,到现在差不多4年了。那时怀着一颗做软件测试的心,只身一人前往上海工作。也不知道哪来的勇气。年轻,也没考虑太多,也

2012-05-03 17:54:19 2231

原创 HttpClient 频繁创建连接,导致socket端口全部耗尽

现象:HttpClient 频繁创建连接,导致socket端口全部耗尽调优方案:使用HttpClient的连接池减少连接的创建次数。

2012-05-03 17:17:51 7573

原创 搜索列表页,用数据库排序分页和like语句,限制TPS

搜索列表页,用数据库排序分页和like语句,限制TPS。调优方案:修改SQL语句

2012-05-03 17:16:24 1970

原创 CPU上下文切换频繁引起load偏高,TPS不稳定

测试nginx有效请求,通过直接连接jetty和nginx两种方式的对比,发现连接nginx的方式比连jetty,同样的cpu 利用率,load相差2左右。上下文的切换频率几乎差一倍,引起TPS的波动。

2012-05-03 17:03:44 4905

原创 https请求,大量TCP请求time_out

对发送https请求进行性能测试,大量tcp连接处于time_wait状态。修改linux内核参数,发现只是对http起作用,对Https未起到作用。https tcp time_wait属于系统环境的问题。在带宽为1000兆的网络环境中,造成网络传输的处理高于服务器对Https的处理能力。从而出现https  tcp time_wait。以LoadRuner降低带宽测试,在100兆的网络

2012-05-03 16:59:44 4056

原创 父进程传递参数给子进程,子进程写文件存储

public class main { // public static BufferedReader br; public static BufferedWriter bw; public static void main(String[] args) { String cmd ="java -Didea.launcher.port=7544 \"-Didea

2012-04-28 16:33:00 2815

原创 应用System.out和System.err实现进程间通信

Java IO 包有两个主要部分:字符流(character stream)0~65535,字符流被称为写入器(writer)和读取器(reader)字节流(byte stream) -127~128,字节流被称为输入流(inputStream)和输出流(outputStream)1. 字节流最基本的类InputStream和OutputStream。2. 字符流最基本的抽

2012-04-28 15:05:48 1997

原创 hashmap example

public class HashMapExample { public static void main(String[] args) { HashMap hm = new HashMap(); hm.put(new Integer(2),"two"); hm.put(new Integer(3),"threee"); hm

2012-04-26 16:00:07 1802

原创 grinder 测试HSF 协议

1.脚本package com.***.****.perf;import com.***.****.client.GCException;import com.***.****.client.domain.article.ArticleDTO;import com.***.****.client.service.inner.ArticleReadService;impo

2012-04-25 22:42:16 2550

原创 ByteArrayOutputStream

package thinking;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;/** * Author: wuche * Date: 12-4-24 * Time: 上午1

2012-04-25 22:27:51 2600

原创 【如何成为有价值的人】

1)比大多数同事勤奋认真;2)做好每一件小事;3)以微笑面对任何命运的不公;4)根据事情的重要程度安排时间;5)用20天养成想要的习惯;6)一个月至少看两本书;7)和善对人,谨慎处事;8)机会无大小,只有时间早晚,永远不嫌弃小机会;9)拥有一个健康身体。

2012-04-25 22:03:38 1865

原创 进程间应用system.out和system.err传递数据

public class FatherProcess { public static void main(String[] args) { int i =0; String cmd ="D:\\java_tools\\jdk1.6.0\\bin\\java -Didea.launcher.port=7544 \"-Didea.launcher.bin.path

2012-04-24 16:24:13 697

原创 sprint 5 的第一周

今天结束了sprint 5 的第一周。sprint 5针对sprint 4 的进度滞后,做了一些小改动。估算一个星期的工作量。比如在一个星期内,能完成多少backlog。进行一个星期的测试,这样做的好处是大家能很好的完成backlog,没有出现sprint 4 时那种滞后的情况。暴露的问题是大家都很忙,赶着晚上加班。这不是我们所需要的。所以在第二周,任务的估算,将更加精确。减少团队晚上

2011-10-28 22:19:41 459

原创 scrum回顾会议

今天第一次开了sprint的回顾会议,整理了一个sprint中哪些做的不好?哪些做的好?从会议整体来说,效果还不错,一共整理了5条做的好了,比如:任务比以前更加细化了,会议的效率越来越高了,严格控制了会议时间。也整理了21条我们认为做的不好的地方。通过对21条不好的分析,我们提炼出优先级最高的5条。比如:任务还不够细化,不能很好的估算时间;开发代码质量不高;测试没有保证;相互等待,缺乏

2011-10-19 23:30:15 1109

原创 2011年上半年的一些总结

半年度review还没开始,自己先总结下。先发点牢骚。上半年,怎一个“乱”字了得。3月初,刚过完春节,抱着满腔热血,开始2011年度的奋斗,第一次做项目经理,管理项目。没多久,项目的架构师离职了,又没多久,大团队的leader也走了。。。随着leader的离开,我们团队并入了其他

2011-07-21 23:13:35 897 1

原创 项目总结

2011年的上半年,我们伴随着PAP度过。2011的上半年,我们的工作因为PAP而变得丰富多彩。从3月15号立项,到7月19号发布,整整历时4个月。还不包括1月份和2月份的前期准备,技术调研工作。承蒙兄弟们看得起,第一次担任PM角色。从制定项目计划,到寻找资源,每一步迈得都是崭新

2011-07-20 08:55:55 614

原创 java.util.concurrent锁剖析工具--jucprofiler

最近一直在看JUC锁的相关资料,因为在项目中经常遇到这个问题,是时候对JUC进行性能分析了。infoq的这篇文章写的很好,推荐下!http://www.infoq.com/cn/articles/jucprofilerjucprofiler工具集成在IBM的MSDK工具包里。1.

2011-07-07 12:43:53 979

原创 烦人的java.util.concurrent锁

这几天的两个项目,都遇到一个问题。CPU利用率不高,在20%左右,load比较高了,4核的机器,已达5~6.在压测端,增加并发用户数,服务器的CPU利用率不会再上升,简单分析了下线程。系统总共运行的线程有206个,sleep on a monitor的线程有196个。这些time_waiting状态的线程都在等待java.util.concurrent锁。这个是不是java.util.concur

2011-07-02 10:12:31 564

原创 迭代5

离项目发布只剩下最后一个迭代了。要做的事还有很多,模块之间的联调,小细节的扫尾,等等。迭代5还算完成得不错。人啊~非到了最后关头才肯发力。迭代5这么多的任务居然绝大部分完成了。最令人高兴的事任务&场景模块在没有的情况下,已经建立起来了,这样PAP所有的模块已经建立起雏形。离胜利越来越近了。这个迭代,最大的收获是发现随着对开发的熟悉,框架的熟悉,大家的开发效率明显高于前面几个迭代。

2011-06-09 21:21:00 682

原创 性能测试,你的优势在哪里?

什么是核心竞争力?核心竞争力就是人无我有,人有我优。目前性能测试同学的地位比较尴尬,为什么呢?比业务,功能测试,产品线的同学比你熟悉。比技术,开发同学的coding能力肯定比你强。那性能测试同学的核心竞争力是什么?怎么体现性能测试同学的价值呢?首先,团队的业务决定了性能测试同学“打酱油”的角色,面对的是所有的业务,做的是五花八门的项目。每个项目的周期又是很短,有的几个星期,有的甚至只有

2011-06-03 22:25:00 1630

原创 sprint3

<br />经过2个sprint,团队对迭代这种模式已经有了一定的认识,俗话说:计划赶不上变化。sprint3出现了一个很严重的问题,任务完成不了,只完成了既定任务的70%。<br />这或许是每个项目都能遇到的问题,在项目中,完成不了任务,理由总归很简单,没时间啊~时间紧啊~其他事情忙啊~~<br />完成不了任务,应该从两个方面进行考虑:<br />第一:是不是设定的任务太多了?<br />第二:项目组同学是不是很好很自觉的去完成任务?<br />首先,每个迭代的任务是每个同学自己申请的,根据scrum

2011-05-19 09:50:00 832

原创 项目需求文档的理解

<br /><br />review项目的需求文档是枯燥的,如何更好的理解需求文档是个思考的问题。<br />通过画原型图可以很好的理解需求文档,原型图,把需求直接转化为页面,给人以视觉上的感受,更加直接。<br />而且在画原型图,如果对需求不明确,是画不出来的。<br />原型图也可以细分需求文档,补充需求文档。<br />所以在需求PRD文档出来后,再画原型图,比较合适。

2011-05-18 23:09:00 1117

原创 狼籍的sprint1

<br /><br />在只能用狼籍来形容的sprint1 demo终于落下了帷幕。由于是第一个迭代,第一个sprint,一切都可以原谅,不是吗?<br />sprint1的目标很简单,每个同学只要完成一个功能点就OK。但是demo的时候还是暴露出了很多问题。<br />1.代码未统一管理<br />2.demo没有页面支撑<br />3.缺少沟通<br />由于项目中期才采用scrum模型,现在发现以前很多东西到现在需要修补,比如E-R图。E-R图的不明确,造成各模块之间关联不明确。这个其实在设计阶段就应

2011-05-18 23:08:00 652

原创 scrum的第一阶段

<br /><br />周六打了3个小时篮球,打到腿抽筋,周日逛了3个小时西溪湿地。今天上班明显状态不行,典型的周末综合症。<br />整理了项目的文档,也整理了下思绪。敏捷开发模型scrum已经在项目中慢慢的实施,通过对scrum理论的学习,并在项目中实践。<br />sprint1将在本周三结束。<br />离项目发布6月28号还有段时间,我把接下来的时间分为了5个sprint,每个sprint制定了story,周三后将于各模块负责人讨论是否可行。<br />每个sprint的开始,制定详细的目标,并与

2011-05-18 23:07:00 642

原创 sprint2

<br /><br />历时2周的sprint2,结束了。从这次sprint的demo中发现,大家比sprint1明显进步很多。总体来说,sprint2达到了我的期望。<br />大家按照sprint开始既定的任务去完成。<br />不过也暴露出很多问题。<br />走远了,要想想为什么要出发?这句话,让我感触很深。是呀,从kick off到今天已经2个半月了。我们已经走得很远了,我们是不是按照既定的方向在前进,当初的需求是否被我们砍了很多?我们当初为啥要出发??<br />在项目中不断的review需求和

2011-05-18 23:05:00 1032

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除