性能分析
文章平均质量分 75
hhb200766
这个作者很懒,什么都没留下…
展开
-
线上故障引发的测试思考
故障例子: 1、线上流量突增,入口服务过载,导致前端触发重试机制,进而引发雪崩效应 2、线上单台服务器过载,消息阻塞,触发网络拥堵,导致业务无法使用 3、服务触发限流,用户被踢出,入口服务限流设置水位不合理,导致访问量过大是网络限流,出现http随机断链 以上3个线上故障,充分反应了实际工作中,单靠功能保证是不够的,简单的性能测试可以满足预想的流量峰值,但是面对过载或更高流量问题时缺乏足够的方案来应对,如何来避免类似问题在工作中频繁发生? 需要思考的3个方面: 1、对上线要足够的...原创 2021-07-11 21:43:59 · 270 阅读 · 0 评论 -
性能测试之初见
接触性能测试一段时间,但是介于项目忙碌而无暇总结,从2年前的stage测试到如今web测试,对性能测试逐渐的有所认知。什么是性能测试,个人认为以考量系统响应时间和业务完成时间的测试都可称为表现性能,系统的瓶颈或拐点的验证测试即服务响应慢、服务假死等诸多情况的关注称为服务性能,即通常的负载压力测试,目的是为了系统在性能和可扩展性提供有力支撑。 性能测试的难度在于业务分析和瓶颈定位,性原创 2012-09-12 18:17:54 · 725 阅读 · 0 评论 -
反射调用的性能对比
反射虽然强大,但存在性能的不足,使用反射基本上是一种解释操作,您可以告诉JVM您希望做什么并且它满足您的要求。曾经看过一本书举例说调用同一个方法,使用反射来动态实现比直接在源代码中编写的方式大概慢一到两个数量级。或许方法比较快些,但经过测试发现字段更慢。 测试Demo如下: package net.oseye;import java.lang.reflect.Field;public c原创 2014-12-03 15:03:38 · 948 阅读 · 0 评论 -
深入理解Java内存模型
处理器内存模型 顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响。 根据对不同类型读/写操作组合的执行顺序的放松,可以把常见处理器的内存模型划分为下面几转载 2014-12-03 15:08:41 · 523 阅读 · 0 评论 -
雨润竞标系统性能问题汇总
1.下单表GoodQuotePrice数据量基数会很大 一个查询的时候用他做了主表外连 2.sqlhelper 访问数据库连接未关闭,多用户时内存会急剧增长,没有释放 3. SearchMySelfGoodList 方法有bug 4.频繁调用分页存储过程,出现sql事务柱塞 数据库操作频繁,分页出现死锁的情况: 1.由于竞标系统调用C6系统存储过程实现分页,而C6系统的存储原创 2012-09-25 17:29:06 · 1812 阅读 · 0 评论 -
JVM内存溢出分析
转自:http://www.51testing.com/?uid-83601-action-viewspace-itemid-3996 摘要 虽然Java虚拟机(JVM)及其垃圾收集器(garbage collector,GC)负责管理大多数的内存任务,Java软件程序中还是有可能出现内存泄漏。实际上,这在大型项目中是一个常见的问题。避免内存泄漏的第一步是要弄清楚它是如何发生的。本文介转载 2012-07-29 18:40:07 · 745 阅读 · 0 评论 -
linux iostat
一个例子: # iostat -x 1 avg-cpu: %user %nice %sys %idle 16.24 0.00 4.31 79.44 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util /dev/cciss/c0d0 0.00 44.90 1原创 2012-07-26 14:06:47 · 11302 阅读 · 0 评论 -
linux netstat
性能测试时,要经常查看服务器的网络连接状态,netstat是一个非常优秀的工具,通过netstat可以显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。 netstat -[rn] netstat -[antulpc] 与路由 (route) 有关的参数说明: -r :列出路由表(route table),功能如同 route 这个指令; -n原创 2012-07-24 14:55:39 · 654 阅读 · 0 评论 -
JVM HeapSize Permsize
java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。 举例说明含义:-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配 -Xmx512m 表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。 说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory转载 2012-07-24 15:01:56 · 3881 阅读 · 0 评论 -
Linux配置支持高并发TCP连接(socket最大连接数)
Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 Linux配置支持高并发TCP连接(socket最大连接数)1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个转载 2012-07-18 13:44:55 · 3384 阅读 · 0 评论 -
JVM调优总结
JVM 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddre转载 2012-03-12 21:16:39 · 435 阅读 · 0 评论 -
JVM的堆栈
课前准备: 本次课程需要你有一个可以在dos窗口里运行起来的tomcat(另外,今天整理的这些是我个人经验,基本上都是我个人的观念,同时今天的内容虽然很简单,但是要想掌握好今天所讲的内容,恐怕不是几年时间能掌握得了的,需要大量别的方面的知识,会随着你的功力渐长有各种意想不到的收获。) 步入正题: 今天讲的不是框架,不是知识,甚至不算是技术,而是一把钥匙,这把钥匙比较特殊,是一把通向大师们的思转载 2011-11-16 19:22:39 · 2670 阅读 · 0 评论 -
LR性能分析
下面我们来看一下 首先我们要监视 %processor time(processor_total): 受的最大上限是 %User time(processor_total): 等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降 低该值。转载 2011-08-31 10:47:09 · 1111 阅读 · 0 评论