自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (18)
  • 收藏
  • 关注

转载 常用mq比较

常用MQ产品比较ActiveMQJoramHornetQOpenMQMuleMQSonicMQRabbitMQZeroMQ

2017-02-17 10:13:46 5114 1

转载 nodejs+bigpipe+angularjs技术实现

bigpipe技术: 淘宝一篇介绍bigpipe的文章: http://www.searchtb.com/2011/04/an-introduction-to-bigpipe.html另外一篇nodejs使用bigpipe的文章: http://engineering.xueqiu.com/blog/2013/02/27/implementing-bigpipe-in-nodejs/我就是看上

2017-02-08 17:48:45 596

原创 NodeJs简介

为什么需要NodeJs?当前的服务器处理请求的方式有什么问题?在Tomcat之类web容器中,对于每个连接都需要一个线程,当有新的http请求进来后,web容器便则会从线程池中获得一个线程来处理该请求(每个线程上下文大约占用 2 MB 的内存。在一个拥有 4 GB RAM 的jvm中,理论上最大的并发连接数量是 2,000个用户,当然,Tomcat容器也可以选择NIO方式来提高并发)。

2017-02-08 14:33:00 1952

原创 LinuxLog分析常用组合命令

LinuxLog分析常用组合命令查看访问量主要用于分析是否受到Http flood(cc攻击),分析方法是查看访问日志,找到访问排名前10的IP地址。 如: cat access.log | cut -f1 -d ” ” | sort | uniq -c | sort -k 1 -n -r | head -10 cat access.log | cut -f4 -d ” ” | sor

2017-02-08 06:47:39 503

原创 Linux Log分析高频命令速查

Log分析less 功能比more更丰富,支持查找.栗子: less catalina.out /ERROR #查找并高亮显示2.tail -n 参数表示最后n行 -f 参数用来持续显示文件新增的行3.head -n 参数表示最前n行4.sort 用于对数据进行排序,默认按字符来排序 -n 按数字进行排序 -r 倒序排列 -k 用来指定排序的列

2017-02-07 22:35:39 445

原创 使用BeanShell设置JMeter动态变量

在某些情况下,我们测试的url是动态的,如http://abc.com/index?param=dynpara,其中dynpara, 其中dynpara表示动态变量,该动态变量是通过某个特定算法实现的。为了实现这样的需求,需要使用 beanshell测试步骤如下:新建一个测试计划新建一个线程组,线程数为10新建BeanShell Sampler,代码如下:String s = String.

2017-02-07 19:37:59 5363

原创 Instrumentation

Instrumentation的功能Java Instrumentation指的是用代理程序来监测和协助运行在JVM上的应用程序,并且这种代理程序是独立于应用程序之外的,这是Instrumentation功能的最主要特性。 Instrumentation能够监测和协助的功能主要包括:获取JVM运行时状态在运行时动态修改类定义在 Java SE 5+中,可以在一个普通 Java 类(具有mai

2017-02-07 11:39:08 312

原创 tprofiler源代码分析

tprofiler源代码分析tprofiler是taobao开源的也是国内目前为止唯一一款Profiler工具,主要用于java应用的性能分析,不仅能够抓取Java方法的调用时间,还能抓取mysql的执行时间, 是一款不错的开源性能分析工具。以下对tprofiler源码中的各包进行分析,帮助大家对tprofiler源码有个初步的认识。1. 最外层Main TProfiler入口,定义了prem

2017-02-06 15:34:28 492

原创 JMockit的常用注解

JMockit的常用注解1. @Tested用于标识一个被测对象的实例,只能作用于具体类,而不能作用于接口,因为一个接口可能有多个实现类,被测试的只能是实现该接口的某一个具体的类通过@Tested标签标识的被测对象实例,将会在测试方法执行之前被JMockit初始化。可通过@Injectable注解对被测对象的构造函数进行改写。如果没有@Injectable,则采用原有代码进行初始化。被@Te

2017-02-06 14:59:30 7138 1

转载 阿里开源全局图

摘要: 受益开源,就当回馈。面对阿里头顶上“贡献开源软件数目第一”的光环,我们清醒地认知阿里开源的目的:阿里开源不是到业内“秀肌肉”,更不是自卖自夸;阿里之所以选择开源是因为开源是孵化新技术领域的容器,更是技术演进的最大推动力。    阿里巴巴集团已经开源115个项目,加入FSF基金会、Apache基金会、Linux 基金会和Xen的顾问团队,并在云栖大会北京峰会宣布AliSQL开源。 

2017-01-23 17:47:51 1971

原创 开源连接池比较

开源连接池比较主流的开源连接池比较情况如下: 名称 稳定性 是否有监控 组织 线程数 线程数详细说明 dbcp 不稳定 无 1 负责心跳,最小连接数维持,最大空闲时间和防连接泄露 c3p0 稳定 无 apache 4 3个helperThread (pollerThread),1个定时任务AdminTaskTimer(Deadl

2017-01-22 10:23:46 460 1

原创 开源Profiler的比较

开源Profiler的比较目前商业的Profiler产品非常丰富,主要有Jprofiler,Jprobe,YourKit Profiler,CodePro Profiler等,而开源的Profiler相对较少,在某度上基本搜索不到,这里列表的基本是在github 上开源的项目。目前github上开源的profiler主要有:tprofiler: taobao开源的profiler,在JVM启动时

2017-01-20 17:19:47 2406

转载 架构师需要了解的Paxos原理、历程及实战

数据库高可用性难题数据库的数据一致和持续可用对电子商务和互联网金融的意义不言而喻,而这些业务在使用数据库时,无论 MySQL 还是 Oracle,都会面临一个艰难的取舍,就是如何处理主备库之间的数据同步。对于传统的主备模式或者一主多备模式,我们都需要考虑的问题,就是与备机保持强同步还是异步复制。对于强同步模式,要求主机必须把 Redolog 同步到备机之后,才能应答

2017-01-19 15:44:56 452

转载 京东全链路压测军演系统(ForceBot)架构解密

ForceBot愿景1、诞生背景伴随着京东业务的不断扩张,研发体系的系统也随之增加,各核心系统环环相扣,尤其是强依赖系统,上下游关系等紧密结合,其中一个系统出现瓶颈问题,会影响整个系统链路的处理性能,直接影响用户购物体验。往年的 618、双 11 大促备战至少提前 3 个月时间准备,投入大量的人力物力去做独立系统的线上压力评测,带来的问题就是各个性能压测团队工作量非常大

2017-01-19 10:54:44 11886

原创 nginx单点问题

nginx单点问题解决方案主要有shadow-master,dns轮询等方式。其对比如下:shadow-master方式特点:使用两台nginx,一台作为master,在线使用,另一台作为standby,作为不备用,只有master宕机以后才接管master.一般使用keepalived/heartbeat+vip(虚拟ip)来实现。 优点:实现简单 缺点:资源利用率只有50% 适用场景:大型

2017-01-19 10:30:28 1933

原创 nGrinder与JMeter的比较

nGrinder简介nGrinder是NHN公司用Java语言开发的一款的基于Grinder开发的开源B/S Web性能测试平台,具有友好简洁的用户界面和分布式测试功能。 nGrinder的分布式结构由一个controller和连接它的n个agent组成,controller类似于JMeter分布式结构的master,它把测试分发到多个agent上去执行并将多个agent的结果进行汇总。nGrin

2017-01-18 16:20:06 4301

原创 mysql连接状态监控

查看mysqladmin所在路径 whereis mysqladmin查看连接状态 ./mysqladmin -uroot -pPASSWORD -h127.0.0.1 status ./mysqladmin -uroot -pPASSWORD -h127.0.0.1 extended-status ./mysqladmin -uroot -pPASSWORD -h127.0.0.1 pr

2017-01-17 16:17:12 1464

转载 利用Jenkins+Phantomas进行前端性能自动化测试

原文地址:https://www.bstester.com/2015/12/front-end-performance-using-jenkinsphantomas-automated-testing前面我们介绍了怎么安装配置ShowSlow和HARViewer,以及Phantomas的使用简介,那怎么将这些工具串起来搭建一个前端自动化测试平台呢?且听我慢慢道来……这里假设大家都已

2017-01-17 14:36:53 2694

原创 linux句柄数管理

linxu句柄数管理在linux系统设计里面遵循一切都是文件的原则,即磁盘文件、目录、网络套接字、磁盘、管道等,所有这些都是文件,在我们进行打开的时候会返回一个文件句柄。 如果频繁的打开文件,或者打开网络套接字而忘记释放就会有句柄泄露的现象,从而句柄数量超限,将产生拒绝服务的严重问题。 以下是对linxu句柄数管理的常用命令:1.查看句柄限制ulimit -a : 查看所有限制ulimit

2017-01-17 13:41:15 1489

原创 dubbo负载均衡模式

dubbo提供以下负载均衡模式: Dubbo提供了多种均衡策略,缺省为random随机调用。 模式 功能 适用场景 优点 缺点 Random 随机,按权重设置随机概率 缺省 RoundRobin 按公约后的权重设置轮循比率 LeastActive 根据请求调用的次数计数 处理请求更慢的节点会受到更少的请求

2017-01-13 18:54:21 800 1

原创 dubbo的容错模式

dubbo的容错模式dubbo提供以下集群容错模式: 模式 功能 适用场景 使用方法 Failover 默认值。失败自动切换到其他服务器 适用于读操作或幂等性操作 如:retries=”2” Failfast 只发起一次调用,失败立即报错 适用于非幂等性的操作,比如新增记录 Failsafe 忽略失败 用于写入审计日志等操作 Fa

2017-01-13 18:16:10 1419

转载 nginx高并发场景下的优化

在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题。今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经验而述,如有不妥,敬请指出~)一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项:1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。wo

2017-01-13 16:33:21 2448 1

原创 IDEA环境下搭建JMeter3.1二开环境步骤

IDEA环境下搭建JMeter3.1二开环境步骤下载源代码包,路径如下:http://jmeter.apache.org/download_jmeter.cgi.下载后解压切换到解压后的路径,将eclipse.project改名为”.project.”,将eclipse.classpath改名为”.classpath.”, IDEA导入该 eclipse项目运行ANT 的download_ja

2017-01-12 10:24:15 6283

原创 Java 内存屏障

为什么需要内存屏障我们知道,在多CPU(核)场景下,为了充分利用CPU,会通过流水线将指令并行进行。为了能并行执行,又需要将指令进行重排序以便进行并行执行,那么问题来了,那些指令不是在所有场景下都能进行重排,除了本身的一些规则(如Happens Before 规则)之外,我们还需要确保多CPU的高速缓存中的数据与内存保持一致性。

2016-12-27 23:29:28 1912

转载 解决dubbo问题:forbid consumer

线下环境经常出现类似这种异常:com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.0.53.69 access service com.kuaidadi.op.api.pay.service.PayChannelConfigRemoteService from registry 10.0.50.150:2181 use dubbo

2016-12-27 19:03:21 2548

原创 使用CAT进行打点

使用CAT进行打点:使用CAT进行打点,以下是CatUtil的主要代码:/*** 开启一个新事务记录事件** @param txType* @param txName* @param kvs*/public static void logEvent(String txType, String txName, KVPair... kvs) { if (kvs == null)

2016-12-26 21:42:17 3167

原创 构建可重复读取inputStream的request

我们知道,request的inputStream只能被读取一次,多次读取将报错,那么如何才能重复读取呢?答案之一是:增加缓冲,记录已读取的内容。

2016-12-26 20:16:31 7602 1

原创 Mock HttpServletRequest的getInputStream

MockHttpServletRequestTest如何Mock HttpServletRequest的getInputStream()方法?spring的test包提供了简单易用的api。 示例源码如下所示:import junit.framework.Assert;import org.apache.commons.io.IOUtils;import org.springframewor

2016-12-26 19:46:48 3816

原创 Private方法单元测试

Private方法测试private方法无法直接测试, 需要通过反射将方法修改为可访问之后再进行测试。举个栗子:public class DemoClass { private int add(int a, int b) { return a + b; }}测试类:public class PrivateMethodTest { @Test publ

2016-12-23 19:12:37 1323

原创 使用Javassist在tomcat容器中实现动态Mock

使用场景在某些复杂场景下,我们需要对运行在tomcat容器中部分功能进行mock(替换其实现),但该部分功能散落在各处,我们希望不修改源代码以非侵入的方式来实现Mock,在这种情况下,我们可以应用Javassist来实现。使用Javassist来动态Mock我们可以定义一个ContextListener的实例,在tomcat启动时通过Javassist对源代码进行动态替换,来实现mock的功能。使用

2016-12-14 16:27:41 1983 1

原创 使用JProfiler排查远程应用性能问题

在很多情况下,我们需要使用windows上的Jprofiler客户端来检测linux服务器上web程序的性能,以下是安装与配置步骤。1.Jprofiler下载本文使用9.2版本。下载地址 http://www.ej-technologies.com/ linux下下载: curl -O http://download-keycdn.ej-technologies.com/jprofiler/jp

2016-12-14 15:18:46 537

原创 javassist入门

javassist的基本功能Javassist是一个动态类库,可以用来检查、”动态”修改以及创建 Java类。其功能与jdk自带的反射功能类似,但比反射功能更强大。重要的类ClassPool:javassist的类池,使用ClassPool 类可以跟踪和控制所操作的类,它的工作方式与 JVM 类装载器非常相似, CtClass: CtClass提供了检查类数据(如字段和方法)以及在类中添加新字段、

2016-12-09 19:33:28 15167

原创 AOP 底层技术性能测试与比较

Spring对AOP的支持Spring中AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC容器负责管理。因此,AOP代理可以直接使用容器中的其它bean实例作为目标,这种关系可由IOC容器的依赖注入提供。Spring创建代理的规则为:1、默认使用Java动态代理来创建AOP代理,这样就可以为任何接口实例创建代理了 2、当需要代理的类不是代理接口的时候,Spring会切换为使用

2016-12-09 19:31:12 6038 1

原创 Actor模型

什么 是Actor模型Actor 模型是个“古老”的东西,是1973年就提出的一个分布式并发编程模型。Actor模型在erlang语言中得到广泛支持和应用(顺便说一下,想要学习并发编程,erlang是首选)。目前java中 也出现了很多支持actor模型的库:akka、killim、jetlang等等。Actor模型原理Actor模型=(数据+动作)+消息。 Actor模型内部的状态由自己的动作

2016-12-05 10:56:55 471

转载 RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总

MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。第一部分:RabbitMQ,ActiveMq,ZeroMq比较1、 TPS比较 一ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。这个结论来自于以下这

2016-11-25 10:20:57 351

转载 高性能队列——Disruptor

高性能队列——Disruptor背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。

2016-11-23 15:48:29 3221 1

原创 基于cache的过载问题解决模式

假设系统A依赖于系统B,同时为了提高访问效率,A系统在本地设置系统B的cache,其过期时间为t。当cache失效时的策略如下:1)基于超时的常规模式: 单统程请求,其他线程等待在t到达后,Cache中的Key和对应Value将被清除,get操作将通过RPC获取B 系统的Key对应的Value,并更新本地Cache。此时,如果另一个线程发现cache过期,get操作先判断有没有其他线程......

2016-11-23 15:28:05 362

原创 灰度发布入门

为什么需要灰度发布?我们的产品是个比较典型的互联网产品,产品升级采用“小步快跑”的方式,一般采用保持每周或每两周一次的发布频率,同时,每周会有数次bug上线。系统上线总是伴随着风险,系统重大bug的风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险等等,因为这些风险的存在,很多次上线都是通宵达旦、小心翼翼,RD和QA都搞提很疲惫。为了不再如此疲惫,同时避免重大事故的发生.......

2016-11-23 11:29:46 3246

转载 互联网产品灰度发布

互联网产品灰度发布 原文地址:http://blog.csdn.net/boonya/article/details/51537674关于2016年5月15日,DevOps成都站|架构与运维峰会活动总结1. 前言 22. 灰度发布定义 53. 灰度发布作用 54. 灰度发布步骤 55. 灰度发布测试方法 66. 灰度发布引擎 6

2016-11-22 14:56:04 777

转载 电商平台中的架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。原文出处:http://blog.csdn.net/yangbutao/article/details/12242441作者:杨步涛关注分布式架构、大数据、搜索、开源技术QQ:306591368技术Blog:http://blog.csdn.NET/yangbuta

2016-11-21 17:00:36 841

ORACLE10g-OCP官方教材I(第三版)

ORACLE10g-OCP官方教材I(第三版)ORACLE10g-OCP官方教材I(第三版)ORACLE10g-OCP官方教材I(第三版)

2011-08-19

mysql-connector-java-5.0.0-beta-bin.jar

mysql-connector-java-5.0.0-beta-bin.jar

2010-04-16

LoadRunner教程整理--软件测试资料第二辑

软件测试资料整理第二辑- LoadRunner教程.包括: 1.Loadrunner 结果分析向导1-英文版.doc 2.Loadrunner 结果分析向导2-英文版.doc 3.LoadRunner官方教程中文高清1.pdf 4.LoadRunner官方教程中文高清2.pdf 5.具体实例教你如何做LoadRunner结果分析.doc

2009-02-20

LoadRunner压力测试实例

LoadRunner压力测试实例. step by step.

2009-02-20

LoadRunner资料大全

LoadRunner资料大全. 很全的LoadRunner资料。

2009-02-20

displaytag中文排序问题解决办法

通过修改源码的方式 解决displaytag中文排序问题.压缩包中包含1.0与1.1版本修改的源文件、编译后的文件,及修改后的jar包。

2009-01-18

SuperTextReplace(V2.0)

SuperTextReplace(V2.0), 著名的批量替换工具。

2009-01-12

Resin3.13 Pro Linux version

Resin3.13 Pro Linux version

2009-01-12

Resin3.13-pro

resin3.13版,优秀的webserver,适合中级项目

2009-01-12

全面的高性能高并发服务器架构解决方案.rar

全面的高性能高并发服务器架构解决方案,众多资料的汇总

2008-12-27

很系统的高级软件架构师培训PPT讲义系列

很系统的高级软件架构师培训PPT讲义系列,共23节。

2008-12-27

JVM 1.42调优中文文档

JVM 1.42调优文档(已翻译成中文),看起来比英文版轻松多了

2008-12-27

Oracle语句优化53个规则详解.rar

整理后的Oracle语句优化53个规则详解。

2008-12-27

软件性能测试PDF文档

较系统的软件性能测试文档,包含一些前人的总结。共99页

2008-12-27

Web2.0网站性能调优实践

Web2.0网站性能调优实践.包含笔者网站3年不同阶段的优化过程

2008-12-27

高并发高流量网站架构

 本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容:   首先在整个网络的高度讨论了使用镜像网站,CDN内容分发网络等技术对负载均衡带来的便利及各自的优缺点比较。然后在局域网层次对第四层交换技术,包括硬件解决方案F5和软件解决方案LVS,进行了简单的讨论。接下来在单服务器层次,本文着重讨论了单台服务器的Socket优化,硬盘级缓存技术,内存级缓存技术,CPU与IO平衡技术(即以运算为主的程序与以数据读写为主的程序搭配部署),读写分离技术等。在应用层,本文介绍了一些大型网站常用的技术,以及选择使用该技术的理由。最后,在架构的高度讨论了网站扩容,容错等问题。

2008-09-27

Apache Tuscany SCA 用户指南StepByStep

Apache Tuscany SCA 的入门资料,属于Step by step类型的.

2008-09-27

memcached全面剖析

目前为止我找到的关于memcached(分布式缓存)最详细的中文资料。

2008-09-27

空空如也

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

TA关注的人

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