`
songzi0206
  • 浏览: 156069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
Group-logo
All are from ...
浏览量:33237
Group-logo
Programming w...
浏览量:19133
社区版块
存档分类
最新评论
文章列表
本文转载自陈皓(http://coolshell.cn/articles/author/haoel) 博客: http://coolshell.cn/articles/4990.html   月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把 ...
        Jenkins JFR 插件主要是用来解析JRockit Flight Record (不了解JRockit 飞行日志可以google一下),并且以SVG图形展示CPU,MEM等情况。想进一步了解代码的可以戳这里: https://github.com/WalseWu/jenkins-jfr。                言归正传,回到hudson plugin,关于hudson的介绍就戳这里: http://wiki.eclipse.org/The_Hudson_Book 。简述下:hudson的插件机制主要基于Stapler和Jelly实现,Stapler主要用于 ...
         接上篇,有了JFR Report,我们可以通过JMRC分析,但是这样的话还是不够方便,所以想自己开发一个Jenkins插件来解析展示,本文先做个开发前的准备工作: 开发Hudson / Jenkins 插件首先一下准备工作: 1. JDK1.6 或更新版本 2. MAVEN 2  3. maven 库settings设置增加: <pluginGroups> <!-- pluginGroup | Specifies a further group identifier to use for plugin lookup. ...

利用JFR监控WLS

    博客分类:
  • WLS
       前阵子Jenkins上builds起伏很大,有些UnitPerfTes的耗时很大,一度使得WLS集群表现很糟糕,于是我希望为UnitPerfTest框架加上JRockit Flight Recording(JFR)模块,具体是这样的: 1)在每个节点开始跑 Task之前能启动该节点上的一个JFR; 2)当task跑完之后结束JFR; 3)从每一个节点产生的JFR report 传回到启动Task所在的JVM,也就是我们Jenkins Server上         JFR是JRockit Missing Controll的东西(目前新版的Hotspot JDK已经也支持 ...
       JMeter的各组件以及如何扩展已完成,现在要利用JMeter对Weblogic Server 的一些应用/组件的性能测试。简单说就是利用JUnit 驱动,在单元测试中驱动JMeter,集成WLS完成一些底层的并发测试,最简单的一个场景:比如在某个单元测试性能评测中,我要测试 n 个并发,其中2%做写操作,98%做读操作。最终的结果都会在Hudson上汇总,看到JUnit Report和JMeter Report,不仅能反映出每个单元测试的功能是否正确,还能反映出并发性能。        WLS 有两种 Unit 测试,一种是Remote,一种是Local。Remote和Lo ...
        完成JMeterEngine, ThreadGroup 和 JMeterThread的整合,外围的设施差不多搞定大半了,接下来是把具体的测试逻辑整合进来,既然是框架层面的,需要通用一点,方便客户端自己定义测试逻辑。不过在此之前,还需要研究下Sampler和Listeners,这样对JMeter的整个流程会有全局的把握。先看下图:        SampleListener和TestStateListener作为很重要的两个Listener贯穿了JMeter整个test的生命周期。        先看TestStateListener,两个方法名就能让我们猜到作用: 1) ...
到上一篇ThreadGroup为止,基本上在项目中可以完成对JMeterEngine / ThreadGroup 的整合,现在要来分析下JMeterThread,以便更好的集成到项目中。         一个 JMeterThread 好比一个vu(虚拟用户),他的创建和启动已经在ThreadGroup这一篇中完整的分析,我们是将JMeterThread委托给一个叫做DaemonizableNamedRunnable(这是因为我需要整合 weblogic workmanager 统一管理线程池)的实例来运行的, 附DaemonizableNamedRunnable代码 //remote ...
       项目搞一段落,总算有时间回来继续。       上一篇写到JMeterEngine会驱动JMeter ThreadGroup启动Test Threads 执行测试,其本身也是一个Runnable,这里把测试驱动(JUnit或者其他类似main之类的)看作主线程(main thread)的话, JMeterEngine作为第一层子线程(First Child Thread),所以如果项目代码基于很多模块(比如基于OSGI),需要进行ClassLoader调整的话可以重写JMeterEngine的runTest方法,例如.: @Override ...
     JMeterEngine接口比较简单,总共7个方法,但是没javadoc,所以光看接口的话只能凭方法名猜测了。我们这里简要分析下: 1. configure(HashTree testPlan)        前面博文已经说过HashTree是JMeter跑测试依赖的数据结构,也提到过HashT ...
学 习了使用JMeterEngine简单的运行测试之后,不着急马上看内部的实现,先了解一下在启动JMeterEngine之前所做的一些初始化工作,这 个对于正确的代码启动JMeterEngine很有必要。下面是启动JMeterEngine之前的初始化流程简要描述:   ...
  习惯于JUnit做功能方面unit test,而对于有些Test需要有一定的压力来模拟一定并发的读和写,借助JMeter来实现这样的测试框架是很不错的一个选择,一来减少很多工作量 (只需少量的定制:比如实现自己的ThreadGroup来定制并发线程的创建和执行,实现自己的Sampler来定制测试目标类的实例化和运行),二来可以很方便使用Hudson进行持续集成, 这对于利用Hudson进行持续集成的项目是再方便不过了,每次build之后除了JUnit报告之外,还能看到jtl报告来监视的性能状况。如果要这样做,首先要研究一下JMeter代码。 咋看JMeter框架,貌似挺复杂的,其实不然 ...
本文转自:http://my.oschina.net/toyandong/blog/65002     使用mount挂载ubuntu虚拟机所在的img文件的时候,执行: “sudo mount -o loop xxx.img /mnt/xxx”, 系统提示: “mount: you must specify the filesystem type” 加上”-t ext3″后仍然报错: mount : wrong fs type , ...
       环境迁移,永远不会那么顺利的,一些意想不到的错误时有出现,这些都需要有耐心去查看、google、慢慢摸索解决。由于linux supprt模块只能在特定的环境下运行和测试,那我前期的开发环境也变得复杂起来(要不写的代 ...

linux下装Oracle-XE记

       本来想偷懒一下,装个Oracle-xe精简版,节省点空间(压缩包不到300M),也省点时间,没想到木有控制好风险,付出的时间远远高出预计。安装rpm文件是从TaaS那里考过来的,自己的产品嘛,又有自己人背后支持,我就放心大胆的去装了,再加上之前在虚机上装过,信心满满,怎么说半个小时就搞定了吧。        一系列命令之后,控制台出现安装成功的输出信息,紧接着config下,sudo /etc/init.d/oracle-xe configure, 也是没有半点错误。唯一的不正常是,启动监听器和启动数据库的时间非常短,几乎秒杀,想想我的OEL不可能强劲到这种速度吧。果然,之后安装 ...

Linux开发环境小记

      发发牢骚,最近因为负责一个linux support的模块,在几台虚机之间切换感觉很不爽,果断把整个开发环境切换到Linux 下(Oracle Enterprise Linux 5),各种不爽的问题出现,记录两个:          一是eclipse切换workspace莫名其妙的错误:Workspace in use or cannot be created,choose a different one. 感觉一头雾水,不知道算是eclipse的bug还是linux的bug,本人没有深究,记录解决方法如下: 1. 删除原workspace下的.metadata目录 2. ...
Global site tag (gtag.js) - Google Analytics