- 博客(158)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 垃极收集器监控(一)
一、为什么需要监控j垃极收集数据因为它对应用的吞吐量和延迟有很大影响;二、监控的手段:可以将每次gc的数量直接输出到一个文本文件,对此文件进行分析;成本小 使用gui监控工具进行监控;成本高;三、何时进行垃极收集四、哪些数据需要进行垃极收集?a.当前使用的垃极收集器 b.java堆的大小c.新生代 和 老年代 的大小d.永久代的大小e.minor gc 的持续时间f.minor gc的空间回收量
2016-09-27 00:08:18
942
原创 Spring 第二天:ioc,di的概念,使用接口配合dj来编程
spring开发提倡接口编程,配合di接口编程,达到解耦;案例创建一个接口ChangeLetter两个类实现此接口把对象配置到spring容器中使用 接口package com.study.interpublic interface ChangeLetter{ private String str; public String change();}实现类UpperLe
2016-09-08 00:28:37
1189
原创 Spring 第一天:spring 概念及简单入门
Spring 第一天的学习spring是什么:是一种框架-》是一种容器框架-》用于配置bean,并维护bean之间的关系的框架什么是bean?* 是java中的任何对象,可以是javabean,也可以是action,也可以是数据源/dao,IOC(控制反转 inverse of control),DI(dependency injection依赖注入)*UML序列图和流程图“`sequ
2016-09-05 20:57:53
1310
原创 以集合思想编写SQL
sql是处理数据的集合,不是处理一行一行的数据,你所编写的SQL不需要你提供如何导航到数据的指令,因为这一项工作是由相关数据库中的后台进行透明地完成。
2015-11-12 15:57:58
1538
原创 根据线程快照分析性能瓶颈四
在继上一节内容后,继续对快照进行分析如何根据快照分析应用中出现的性能瓶颈我们知道,一个项目在增大压力时,系统处理业务能力应是平稳上升,在这一过程中,一般服务器资源的使用率,比如CPU,内存的使用率是平稳上升的,这里的上升是指正常过程中在加压下的上升,排除异常情况下CPU过高或内内存使用率突然上升的情况,如果压力在增加,但系统处理业务的能力上不去,对应的资源使用率不升反而下降,常常对应就是系统处理业务
2015-11-10 11:16:43
7538
原创 项目调优-微信(本地化服务)平台:瓶颈定位,数据库调优,业务重构
微信项目的性能测试目前完成也有一个星期的时间此项目从测试到优调,及回归测试用了半年的时间,其中大部时间是研发针对此项目的业务重构优化项目版本1.0的性能测试数据如下:<未完待续>
2015-11-09 17:19:17
916
原创 针对读写操作频繁的应用系统的LINUX调优设置
在线签约系统调优============#项目类型 IO限制型应用,需要频繁调用PDF进行签章,调用的PDF保存在 磁盘中。 #项目业务设计实现 这里简要说明一下业务流程:前端业务系统过来的请求通过Nignx进行分流,通过网关DSS,将各自的请求转发到相应的老,新签章系统进行处理 这里需要说明一下,每一个签章请求都需要电签系统处理完成之后,给业务端返回一个PASS标识,在这个过程当
2015-11-06 16:53:43
3383
原创 信审信用评估系统性能测试总结
一、项目介绍:信审信用评估系统由销售客户系统放件过来,信审系统对进来的进件进行反欺诈处理、对反欺诈处理后的进件,进行黑名单审核,然后根据各种信用引擎规则、第三方信托接口,大数据风控接口对其进行自动筛选,这一系列步骤操作完成后,符合条件的进件才有资格进入初审,终审。进入初审是由相应人工角色进行初审,此时的初审由一般信审调查员去完成;第二阶段,凡是初审完成后的进件如没有问题进入终审,此时的角色是由信审高
2015-10-26 22:04:26
2807
1
原创 java线程堆栈问题定位第三讲
一、如何通过线程堆栈进行问题定位? 当获取线程堆栈后,可以通过线程堆栈得到什么内容? a.线程调用层次关系,也就说,当前线程执行了什么 操作,调用了什么函数 b.线程的状态,及本身占有哪些锁,以及等待了哪些锁 c.可以看到锁的争用情况 d.从多次的打印线程堆栈后,可以了解一个线程是否长期在执行,且执行的内容一样 e.从多次的打印线程堆栈后,可以了解某个线程是否长期得不到锁的情况二、通过线
2015-06-29 17:46:42
1476
原创 java线程堆栈问题定位第二讲:多线程中的锁解读
一、wait()和sleep的共同点与区别: 共同点:都会把当前的线程阻塞住(时长的为函数参数指定的时间),即为睡眠或等待 区别:wait() 当线程执行到wait()方法上,当前线程会释放监视锁,此时其它线程可以占有该锁,一旦wait()方法执行完成,当前线程又继续持有该锁,直到执行完该锁的作用域。可以说wait()是多线程场合下用得最多的一个方法。结合notify(),可以实现两个线程之
2015-06-29 09:37:47
1347
原创 JAVA线程堆栈问题定位第一讲
一、如何制作线程堆栈 a.本地线程与java线程对应 本地线程: 是指java线程对应的虚拟机中的本地线程,java语言中的线程是依附于JVM虚拟机中的本地线程来运行,实际是本地线程运行java线程代码。java代码中创建一个thread,虚拟机在运行期间就会创建一个对应的本地线程,而这个本地线程才是真正的线程实体 打印java虚拟机本地线程的命令:
2015-06-28 15:25:40
1292
原创 项目中的随机写,随机读的压力测试
一、最近接了一个项目 ,通过两套环境,布署相同的项目,对项目中的读和写进行压测,在进行压力测试时,需要注意以下几个问题1.中间件中的最大的连接数2.数据库中最大的会话数量3.需要准备的数据量4.服务器中的存放上传文件 的目录大小5.上传文件的大小 与网络流量二、在执行测试时,出现以下错误Error -27791: Error -27790:Error -2774
2015-03-22 17:41:34
1352
原创 java的内存管理实例
Java程序的多个部分(方法,变量,对象)驻留在内存中以下两个位置:即堆和栈,现在我们只关心三类事物:实例变量,局部变量和对象:实例变量和对象驻留在堆上局部变量驻留在栈上让我们查看一个 java 程序,看看他的各部分如何创建并且映射到栈和堆中:public class Dog {Collar c;String name;//1.main()方法位于栈上public static v
2015-01-23 17:52:31
714
原创 JAVA中的静态方法 和 实例方法的区别
一、JAVA中的静态方法 要点:静态方法 能调用本身所在类的静态成员属性),但不能调用对象成员方法; 其调用过程:a. 类 . 方法名 b .对象名.方法名即:调用静态方法,无需实例化(创建对象)总结: 静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,
2015-01-22 17:51:43
1704
原创 计算机中的字,字长,位,字节的概念
一、在性能测试当中,任何脱离底层的内容,对于性能测试来讲,都是不完整的,任何程序,何何中间件如果没有操作系统及计算机支撑,都是毫无意义的,因为在计算机世界里,有一些概念需要我们能够掌握和了解,比如说:位,字,字长首先说一下位: 位表示的是二进制位,一般称为比特,是计算机存储的最小单位,类似于(两,公斤,克)的概念,比如:11010100是一个8位二进制数。一个二进制位只可以表示0和1两
2015-01-22 11:04:20
41761
1
原创 LR:消息message输出函数
Loadrunner提供了若干message函数,以在脚本回放中和脚本运行中,对外输入信息,主要的函数有: 【lr_message】 intlr_message (const char *format, exp1, exp2,...expn.); 中文解释:lr_message函数将信息发送到日志文件和输入窗
2015-01-12 12:00:56
1631
原创 在LINUX中性能测试监控中常用的TOP命令中,部分字段代表的真正含义
在项目性能测试的中,经常需要监控服务器,DB服务器的各项计算器,其中在LINUX下我们最常用的命令实时查看命令TOP,用的最多,但真正对这一命令的各项值,确又了解甚微,甚至根本不知道这些值所代表的含义,及是如何得出来的: 在谷哥一些资料后,将其各项的字段所代表的含义及其来源,以做为记录: 在TOP命令中有一行CPU的中信息:us,sy,ni,wa,si,hi,st,其中us,s
2015-01-12 11:54:13
4727
原创 Loadrunner设置场景的三种方式
性能测试用例设计首先要分析出用户现实中的典型场景,然后参照典型场景进行设计,下面详细介绍一下常见的三类用户场景:一天内不同时间段的使用场景。在同一天内,大多数系统的使用情况都会随着时间发生变化。例如对于新浪、网易等门户网站,在周一到周五早上刚一上班时,可能邮件系统用户比较多,而上班前或者中午休息时间则浏览新闻的用户较多;而对于一般的OA系统则早上阅读公告的较多,其他时间可能很多人没有使
2015-01-09 19:59:01
5766
原创 客户管理系统性能测试总结
一、项目名称客户管理系统的性能测试已经结项,性能测试的主要功能都为查询,查询的方式,都是输入时间段、关键词进行精确搜索;数据的基准量为2万条;涉及到的表有7张表,每张表中的数据量为2W ,使用此系统的方式,是角色越高的查询的数据就会很多,点击查询操作会进行两个操作,一是判断角色是否具有的相应的权限,二是权限确定后,搜索搜索关键词进行数据查询,并展现查询结果二、项目测试方案由于是
2015-01-05 18:57:43
2871
原创 项目性能测试中遇到的问题
一、数据库中的数据准备数据库中的两种情况: 空数据,进行加压测试 有数据,进行加压测试二、数据构造中,表空间的自动增长设置三、表中的查询语句的优化
2014-12-23 20:38:36
1231
原创 更新机器 后,软件的安装和程序的使用问题总结
一、之前一台电脑中配置的cx_oracl e,oracle客户端后,出现的问题解决 后没有及时记录下业,导致在重新安装时同现同样的问题,又花了很长时 间,现总结如下:安装oracle 客户端时 需要和服务器使用的版本尽量保持一致二、在用cx_oracle连接oracle 时,cx_oracle的版本尽量与客户端oracle版本一致
2014-12-22 17:10:53
704
转载 网卡
概念定义: 计算机与外界局域网的连接是通过主机箱内插入一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡)。网络接口板又称为通信适配器或网络适配器(adapter)或网络接口卡NIC(Network Interface Card)但是现在更多的人愿意使用更为简单的名称“网卡”。 网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、
2014-12-19 18:50:46
2253
原创 pycharm工具使用
文件编码是UTF-8,同时在文件头添加 # -*- coding: utf-8 -*-文件中所有的字符串前都加u,如 u"中文"在输入(抓取某些utf-8/gbk的网页)、输出(输出到网页、终端)的时候,要记住python内部是用Unicode存储的所有输入要先decode,变成unicode,输出时要encode变成想要的编码(MacOS X/Linux下输出为utf-8,Windows下输出为
2014-12-19 18:48:40
2313
原创 loadrunner中的参数与变量
一、LR中变量的使用变量在LR中可以直接定义,但是必须要定义在系统函数前(即所有的LR函数之前)例:int 或char name[20]二、变量和参数的区别1、作用域参数的作用域是全局的,变量的作用域需要在globals.h文件中申明可以是全局作用域2、在LR中的使用参数是可以直接在系统函数中应用的,变量是属于C语言的无法直接应用在系统函数中例:变量写法:c
2014-12-18 15:43:58
6854
原创 loadrunner调用webservice接口测试
一、第一种方式使用JAVA_vuser协议,直接用JAVA调用,接口所使用的JAR包全部导入到当前脚本中,且脚本且所使用的包须在同一个目录下,然后 用java对各种参数进行赋值,完毕后,对这些参数进行设置二、第二种方式使用Webservice协议录制,将接口调用的WSDL地址,填写到URL中,导入,则相应的参数,就会出
2014-12-18 15:41:03
1505
原创 Loadrunner 录制登录操作
脚本业务流:访问Discuz论坛首页——登录论坛——退出论坛。本次使用LoadRunner11版本。一、录制脚本注意 1、确保Discuz论坛能在服务器运行正常。 2、录制前先试访问Discuz论坛注册一个测试用户。 3、选择录制协议,Discuz论坛是一个B/S架构的web论坛,使用常用协议“web(HTTP/HTML)”录制。 4、录制选项的设置,特
2014-12-17 10:27:10
21840
原创 接口测试的两种方法
其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。 方法一、用LoadRunner实现接口测试 大家都知道LoadRunner是一种性能测试工具,但它也可以用在我们做接口测试的时候。开发人员开发出来的接口,提供给测试人员详细的接口使用说明书,该说
2014-12-17 10:10:54
6265
原创 JDK与Tomcat安装方法
一、在CENTOS 下的安装安装包下载:最新的JDK 1.7官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html建议下载rpm包:http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-lin
2014-12-17 09:48:44
815
原创 ORACLE中的delete语句
一、语法DELETE FROM 表名称 WHERE 列名称 = 值二、删除某行"Fred Wilson" 会被删除:DELETE FROM Person WHERE LastName = 'Wilson' 三、删除所有行可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETE FROM table_name或者:D
2014-12-15 16:13:46
68630
原创 ORACLE中的SGA和PGA
一、SGA(system global area )SGA可以认为是instance中的全局共享区,Instance是由SGA和processes(进程)组成。官方文档中的解释: A system global area (SGA)(系统全局区) is a group of shared memory structures that containdata an
2014-12-15 16:11:39
1074
原创 CentOS 安装jdk1.7 64位
[root@localhost ~]# java -versionjava version "1.6.0"OpenJDK Runtime Environment (build 1.6.0-b09)OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)1.6的,这个必须换掉 。下载jdk-7u3-linux-x64.rpm# wget
2014-12-11 17:25:05
10499
原创 loadrunner:并发用户90%的响应时间的用法
篇讨论的是基于LoradRunner的性能测试,并发用户90%的响应时间的用法。假设90%是14.721秒。90Percent:是指把响应时间从小到大排序,90%的响应时间,在14.721秒这个范围之内;1)这个90%是可以调的,方法:选择Tools/options/general但是,改变这个数之后,对于.lra的分析报告好像不灵,我觉得因为这个报告的数据已经生成了;对于.lrr的分
2014-12-11 17:13:24
11576
原创 性能测试中的nnmon使用
一、先看帮助信息[root@linux nmon]# ./nmon.sh -h Hint: nmon.sh [-h] [-s ] [-c ] [-f -d -t -r ] [-x] -h 查看完整的说明信息,有两种模式:a、命令行交互式模式 (h) b、对于数据收集模式 (-f) -f 电子表格
2014-12-11 17:11:03
3805
原创 Oracel库、表、表空间的关系
一、数据库数据库顾名思义是数据的集合,而Oracle则是管理这些数据集合的软件系统,它是一个对象关系型的数据库管理系统。 二、表空间表空间是Oracle对物理数据库上相关数据的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。每个表空间由同一磁盘上的一个或多
2014-12-11 17:04:01
2533
原创 oracle 查看数据库和表命令
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus ;3、SQL>connect / as sysdba ;(as sysoper)或connect internal/oracle AS SYSDBA ;(scott/tiger)
2014-12-11 16:58:38
134179
原创 java中的堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。
2014-12-09 17:21:09
666
原创 java中的堆非堆内存
堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的
2014-12-09 17:19:51
1401
原创 nmon的使用与安装
一、使用[root@dhdb ~]# nmon -s 300 -c 288 -f -m /tmp-s 300:表示每300秒采集一次数据,-c 288 :表示采集288次,300*288=86400秒,刚好是1天的数据,这样运行一次这个程序就会生成一个一天的数据文件,-m /tmp: 表示生成的数据文件的路径-f :表示生成的数据文件名中有时间二、安装nmon:ht
2014-12-09 12:42:21
718
原创 利用loadrunner做性能测试过程中遇到的问题
一、插入检查点时,报错:Error -27216: Invalid argument (number 4) [MsgId: MERR-27216]Registering web_reg_find highest severity level was "ERROR" [MsgId: MMSG-26389]Invalid argument非法参数、无效参数一般出现这样的问题都是
2014-12-08 17:54:12
8381
TA创建的收藏夹 TA关注的收藏夹
TA关注的人