摘要:
生如浮萍般卑微 爱却苍穹般壮烈 我要为你爬上最险山巅 走过最崎岖眷恋 一步 一步 穿越 ——五月天 《步步》 阅读全文
posted @ 2023-01-14 15:00
易先讯
阅读(21)
评论(0)
推荐(0)
摘要:
在性能分析的人眼里,性能瓶颈就是性能瓶颈。无论这个性能瓶颈出现在代码层、操作系统层、数据库层还是其他层,最终的目的只有一个结果:解决掉! 有人可能会觉得这种说法过于霸道。 事实上,我要强调的性能分析能力,是一套分析逻辑。在这一套分析逻辑中,不管是操作系统、代码还是数据库等,所涉及到的都只是基础知识。 阅读全文
posted @ 2023-01-14 10:49
易先讯
阅读(44)
评论(0)
推荐(0)
摘要:
在大部分的性能项目中,当系统调优到一定程度的时候,性能的瓶颈往往会体现在两类计数器上:一个是CPU,另一个就是磁盘I/O了。所以我们也经常会在一些性能优化的文章中看到两个分类,分别是CPU密集型和磁盘I/O密集型。 有人说为什么不说内存呢?内存是那么重要。不是说内存不会成为瓶颈,只不过内存的瓶颈基本 阅读全文
posted @ 2023-01-14 10:49
易先讯
阅读(73)
评论(0)
推荐(0)
摘要:
写这篇文章的时候,我想起来一句似乎无关紧要的话:“我离你如此之近,你却对我视而不见。” 在性能测试中,参数化数据是少有的每个性能测试工程师都会用得到,却经常出现问题的技术点之一。从我的角度来说,究其原因,大部分是因为对性能参数化数据的理解不足。导致的结果就是用了参数化,但和真实的用户场景不一致,从而 阅读全文
posted @ 2023-01-14 10:48
易先讯
阅读(105)
评论(0)
推荐(0)
摘要:
在苍茫的性能分析道路上,不管你是一只多老的鸟,在经历了多个性能测试的项目之后,你都会发现对于性能问题而言,你仍然不敢说能全部解决。因为下一个问题可能真的是你完全没有见过的。 再加上技术的飞速发展,想跟得上技术的进步都是一件痛苦的事情,更别说要完全掌握并且融会贯通了。 我经常看到有些人在简历中动辄说自 阅读全文
posted @ 2023-01-14 10:48
易先讯
阅读(98)
评论(0)
推荐(0)
摘要:
上一篇文章我主要分析了带宽消耗,今天,我们来看一下分析的第二和第三阶段,也就是Swap分析和数据库分析。 分析的第二阶段 Swap的原理和对TPS的影响 前面有一个扣,是说swap多的问题。要理解swap为什么是黄的,得先知道什么是swap。我先画个简易的示意图。 这里先解释一下,对于一个Linux 阅读全文
posted @ 2023-01-14 10:48
易先讯
阅读(105)
评论(0)
推荐(0)
摘要:
今天我们来看一个真实的案例。事情是这样的,之前有人在微信上问我一个问题,这个问题的现象很典型:典型的TPS上不去,响应时间增加,资源用不上。 大概的情况是这样的:有两台4C8G的服务器,一台服务器上有2个Tomcat,一台服务器上是DB。压测的混合场景有4个功能模块,其中3个访问一个Tomcat,另 阅读全文
posted @ 2023-01-14 10:47
易先讯
阅读(38)
评论(0)
推荐(0)
摘要:
在性能分析中,前端的性能工具,我们只需要关注几条曲线就够了:TPS、响应时间和错误率。这是我经常强调的。 但是关注TPS到底应该关注什么内容,如何判断趋势,判断了趋势之后,又该如何做出调整,调整之后如何定位原因,这才是我们关注TPS的一系列动作。 今天,我们就通过一个实际的案例来解析什么叫TPS的趋 阅读全文
posted @ 2023-01-14 10:47
易先讯
阅读(39)
评论(0)
推荐(0)
摘要:
在微服务横行的年代,没有链路级监控简直就是灾难。技术在不断的发展过程中,总是会有新的工具被推出来,它们存在的价值就是解决问题。链路监控工具存在的价值就是尽快找到微服务中哪一个环节是最慢的。 我们对微服务的态度究竟是怎样的? 但是在讲链路级监控之前,我需要再说一下我们对微服务的态度。 我们认为微服务性 阅读全文
posted @ 2023-01-14 10:47
易先讯
阅读(34)
评论(0)
推荐(0)
摘要:
在我看来队列服务器是最简单的一种组件了。因为队列给我们下手的机会实在是并不多。我们只是用它,如果想改变它就只能去改代码,其他的都只是配置问题。 在当前的市场中,Kafka算是用得非常火的一个队列服务器了,所以今天,我选择它来做一些解读。 虽然我在前面一直在强调分析的思路,但在这一篇中,我打算换个思路 阅读全文
posted @ 2023-01-14 10:46
易先讯
阅读(31)
评论(0)
推荐(0)
摘要:
上一篇文章中,我们讲了有关数据库的全局分析,那么在今天的文章中,我们继续看看在数据库中,如何做定向分析。 还记得我在上篇文章中提到的工具吗?mysqlreport、pt-query-digest和mysql_exportor+Prometheus+Grafana。我们在上一篇中已经讲完了mysqlr 阅读全文
posted @ 2023-01-14 10:46
易先讯
阅读(27)
评论(0)
推荐(0)
摘要:
数据库是一个非常大的话题,我们在很多地方,都会看到对数据库的性能分析会包括以下部分。 但其实呢,以上这些内容都是我们应该具备的基础知识,所以我今天要讲的就是,具备了这些基础知识之后我们应该干什么事情。 也就是说,从性能瓶颈判断分析的角度入手,才是性能从业人员该有的逻辑。每次我分析一个性能问题时,逻辑 阅读全文
posted @ 2023-01-14 10:45
易先讯
阅读(56)
评论(0)
推荐(0)
摘要:
在当今Spring Cloud微服务架构盛行的时代,Tomcat仍然作为应用最广的应用服务器而存在着,所以我们不得不说一说对它的性能分析。 很多时候,我们做性能测试分析时,都会把Tomcat这类的应用弄混淆。对它的监控和分析,总是会和JDK、框架代码、业务代码混合来看,这就导致了分析上的混乱。我们应 阅读全文
posted @ 2023-01-14 10:45
易先讯
阅读(97)
评论(0)
推荐(0)
摘要:
在上一篇文章中,我们描述了在Java开发语言中如何抓取方法的执行时间,其中描述的操作也是我们在分析时经常使用的。 今天我们将接着描述如下几点内容: Java语言中如何查找有问题的内存对象。 简单介绍一下在C/C++语言中如何查找方法执行时间和对象的内存消耗。 之所以要描述C/C++语言的相关内容,就 阅读全文
posted @ 2023-01-14 10:45
易先讯
阅读(42)
评论(0)
推荐(0)
摘要:
在性能测试分析中,有一部分人存在着一个思路上的误解,那就是一开始就一头扎进代码里,折腾代码性能。这是我非常反对的一种做法。 事实上,要想这么做,有一个前提,那就是架构中的其他组件都经过了千锤百炼,出现问题的可能性极低。 实际上,我凭着十几年的经验来看,大部分时候,代码出现严重性能瓶颈的情况还真是不多 阅读全文
posted @ 2023-01-14 10:44
易先讯
阅读(122)
评论(0)
推荐(0)
摘要:
在上一篇文章中,我们已经讲了监控系统层面的分析思路以及CPU分析,今天我们分析一下操作系统中其他的层面。 首先是I/O。 I/O I/O其实是挺复杂的一个逻辑,但我们今天只说在做性能分析的时候,应该如何定位问题。 对性能优化比较有经验的人(或者说见过世面比较多的人)都会知道,当一个系统调到非常精致的 阅读全文
posted @ 2023-01-14 10:44
易先讯
阅读(69)
评论(0)
推荐(0)
摘要:
我相信有一些人看到这篇文章的标题肯定有种不想看的感觉,因为这样的内容实在被写得太多太多了。操作系统分析嘛,无非就是CPU使用率、I/O使用率、内存使用率、网络使用率等各种使用率的描述。 然而因为视角的不同,在性能测试和分析中,这始终是我们绕不过去的分析点。我们得知道什么时候才需要去分析操作系统,以及 阅读全文
posted @ 2023-01-14 10:44
易先讯
阅读(66)
评论(0)
推荐(0)
摘要:
在本模块中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web服务器、存储、代码等很多需要监控的点。 显然这些监控点不能在一个专栏中全部覆盖并一一细化,我只能找最常用的几个,做些逻辑思路的说明,同时也 阅读全文
posted @ 2023-01-14 10:43
易先讯
阅读(67)
评论(0)
推荐(0)
摘要:
在性能测试中,我觉得监控是非常重要的环节。因为这是做性能分析的前提,走出这一步,才有后面的分析。 监控是性能分析承上启下的关键点。 设计监控是我们性能测试工程师必须要做的事情。当然了,仅仅设计监控是不够的,还要看懂监控数据才能分析。我们将在后面的篇幅一一拆解。 我觉得性能测试工程师也一定要自己去实现 阅读全文
posted @ 2023-01-14 10:42
易先讯
阅读(56)
评论(0)
推荐(0)
摘要:
性能场景中的业务模型是性能测试工作中非常重要的一部分。而在我们真实的项目中,业务模型跟线上的业务模型不一样的情况实在是太多了。原因可能多种多样,这些原因大大降低了性能测试的价值。 有人说,就是因为这样才应该直接用生产流量的方式来做嘛,这样就不用管业务模型了,直接就有生产的业务模型了。没错,只要你能通 阅读全文
posted @ 2023-01-14 10:42
易先讯
阅读(43)
评论(0)
推荐(0)
摘要:
我们在前面屡次强调了场景的重要性,今天终于到了要把实际场景拿出来解析的时候了。 在本篇文章中,为了保证数据的连续性,我用之前的项目资料来作明确地说明。同时为了模糊关键业务信息,以及让场景的描述更通用性,我会把所有的业务名隐去。 根据之前我们所说的,基准性能场景是为了测试出单业务的最大容量,以便在混合 阅读全文
posted @ 2023-01-14 10:42
易先讯
阅读(20)
评论(0)
推荐(0)
摘要:
在性能测试中,我们要关注的数据主要有以下几类,分别是参数化数据、监控数据和基础铺底数据。 我们今天先描述第一种参数化数据,在后面的文章中再描述其他数据。 首先我们需要了解,为什么要关注性能场景中的参数化数据呢?我以下面的两个例子说明一下。 在我的工作经历中,见过很多初级性能测试工程师不知道如何设置合 阅读全文
posted @ 2023-01-14 10:41
易先讯
阅读(12)
评论(0)
推荐(0)
摘要:
当前使用得最为广泛的应用层协议就是HTTP了。我想了好久,还是觉得应该把HTTP协议写一下。 因为做性能测试分析的人来说,HTTP协议可能是绕不过去的一个槛。在讲HTTP之前,我们得先知道一些基本的信息。 HTTP(HyperText Transfer Protocol,超文本传输协议),显然是规定 阅读全文
posted @ 2023-01-14 10:41
易先讯
阅读(42)
评论(0)
推荐(0)
摘要:
今天我们来做一个实例,看下在JMeter中,如何合理地设置参数化数据。 正式场景前的基准测试 在没有做业务混合场景之前,我们需要先做Benchmark测试,来确定一个登录业务能支持多少的业务量,这样就可以在业务混合场景中,根据场景中各业务的比例来确定登录的数据需要多少真实的数据。 我们继续用上一篇文 阅读全文
posted @ 2023-01-14 10:41
易先讯
阅读(96)
评论(0)
推荐(0)
摘要:
对每一个性能测试工具来说,关联和断言都是应该具备的基本功能。 但是有很多新手对关联的逻辑并不是十分理解,甚至有人觉得关联和参数化是一样的,因为它们用的都是动态的数据,并且关联过来的数据也可以用到参数化中,但不一样的点是,关联的数据后续脚本中会用到,参数化则不会。断言倒是比较容易理解,就是做判断。 那 阅读全文
posted @ 2023-01-14 10:40
易先讯
阅读(36)
评论(0)
推荐(0)
摘要:
对于一个性能测试工具来说,如果能实现以下几大功能,那么就基本上就满足了性能测试工具的功能。 录制或编写脚本功能 参数化功能 关联功能 场景功能 报告生成功能 但是除此以外,在工作的细节上还有更多要求,就要看工具的实施能力了。 有很多性能测试工程师希望工具能做得非常全面,又人性化,而纵观当前的性能工具 阅读全文
posted @ 2023-01-14 10:40
易先讯
阅读(25)
评论(0)
推荐(0)
摘要:
我还年轻的时候,经常听一些大会或者演讲。有些人说,思路逻辑非常重要。我那时就想,你肯定是瞎忽悠的,因为我怎么就没听懂你说的思路呢? 而现在轮到自己来写或者讲一些东西的时候,才发现他们说得很对,而我之所以不理解,也是有原因的。 性能分析思路和具体的实现之间,有一道鸿沟,那就是操作的能力。之前我为什么听 阅读全文
posted @ 2023-01-14 10:39
易先讯
阅读(36)
评论(0)
推荐(0)
摘要:
我在性能综述的那三篇文章中,描述了各种指标,比如TPS、RPS、QPS、HPS、CPM等。我也强调了,我们在实际工作的时候,应该对这些概念有统一的认识。 这样的话,在使用过程中,一个团队或企业从上到下都具有同样的概念意识,就可以避免出现沟通上的偏差。 我说一个故事。 我以前接触过一个咨询项目。在我接 阅读全文
posted @ 2023-01-14 10:39
易先讯
阅读(67)
评论(0)
推荐(0)
摘要:
做性能测试工作的人总是离不了性能测试工具,但当我们刚开始接触这类工具或者压测平台的时候,总是难免处在一种顾此失彼,焦虑又没想法的状态。 性能工程师的三大学习阶段 在我看来,对性能测试工程师本身来,多半会处在以下三个大的阶段。 性能工具学习期 JMeter和LoadRunner是我们常用的两个性能测试 阅读全文
posted @ 2023-01-14 10:38
易先讯
阅读(52)
评论(0)
推荐(0)
摘要:
在上一篇文章中,我们讲述了性能场景,下面就要说性能需求指标了。 通常我们都从两个层面定义性能场景的需求指标:业务指标和技术指标。 这两个层面需要有映射关系,技术指标不能脱离业务指标。一旦脱离,你会发现你能回答“一个系统在多少响应时间之下能支持多少TPS”这样的问题,但是回答不了“业务状态是什么”的问 阅读全文
posted @ 2023-01-14 10:38
易先讯
阅读(67)
评论(0)
推荐(0)
摘要:
我们在上一篇文章中讲了性能测试的概念,肯定会有人觉得,那些概念很重要,怎么能轻易抹杀呢?那么,在今天的文章中,我们就来扒一扒性能场景,看看概念与实际之间的差别。 前面我们说了性能要有场景,也说了性能场景要有基准性能场景、容量性能场景、稳定性性能场景、异常性能场景。在我有限的十几年性能生涯中,从来没有 阅读全文
posted @ 2023-01-14 10:37
易先讯
阅读(32)
评论(0)
推荐(0)
摘要:
在性能测试行业中,长久以来,都存在几个关键的概念误差。在我从业性能测试十几年的经历中,也看到过书籍或网上传播着各种性能测试的概念、方法论等,但是究其本质,再对应到具体的项目工作中,我发现这些概念以及方法论实在没有指导的价值,并且有些概念的产出,也没有确凿的证据来源。 所以在今天,专栏正式更新的第一天 阅读全文
posted @ 2023-01-14 10:37
易先讯
阅读(171)
评论(0)
推荐(0)
摘要:
你好,我是高楼,网名叫Zee。 很高兴能在这里和你聊性能测试。 在课程开始之前,我先介绍下我自己的从业经历。 从2005年毕业开始,除了第一年在做路由器方面的功能、性能测试之外,我后面的工作几乎都是围绕着性能测试分析展开的。 那时我还年轻,喜欢混迹于各大测试论坛,从而认识了很多行业内的高手,很多人也 阅读全文
posted @ 2023-01-14 10:37
易先讯
阅读(45)
评论(0)
推荐(0)

浙公网安备 33010602011771号