最近新项目上线,需要对项目中的一个HTTP接口进行压力测试,以保证接口性能稳定性。该接口涉及到的主要业务是接收HTTP请求,获取请求中的xml报文参数,并将xml报文解析后存入MySQL数据库。经验总结:
如果总的CPU占用率偏高,且基本都被业务线程占用时,CPU占用率过高的原因跟JVM参数大小没有直接关系,而跟具体的业务逻辑有关。
当设置JVM堆内存偏小时,GC频繁会导致业务线程停顿增多,TPS下降,最后CPU占用率也低了;
当设置JVM堆内存偏大时,GC次数下降,TPS上升,CPU占用率立刻上升。
Dom4J 这个xml解析工具性能很强大,但在处理节点和层级都较多的xml文本时,整体解析效率依然会成为业务处理瓶颈。
分类:
其他好文 时间:
2018-06-18 22:14:42
阅读次数:
275
Tomcat部署Tomcat虚拟主机部署Tomcat加密网站部署varnish加速Web服务
分类:
系统相关 时间:
2018-06-18 16:05:46
阅读次数:
216
SQL Server 存在三种 Join 策略:Hash Join,Merge Join,Nested Loop Join。 Hash Join:用来处理没有排过序/没有索引的数据,它在内存中把 Join 两边数据(的关联key)分别建立一个哈希表。例如有以下的查询语句,关联的两张表没有建立索引,执 ...
分类:
数据库 时间:
2018-06-17 16:11:00
阅读次数:
298
转:https://my.oschina.net/feichexia/blog/196575?p=3 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ... ...
分类:
Web程序 时间:
2018-06-15 16:16:32
阅读次数:
269
1.最左原则 注意遇到> < like between失效 2.对于like 查询 遇到最左%索引无效 3.SQL性能优化目标:至少要达到range(对索引进行范围查找)级别,要求是ref(普通索引)级别,最好是consts(单表中最多只有一个匹配行=主键或唯一索引) 4.不要写一个大而全的数据更新 ...
分类:
数据库 时间:
2018-06-11 13:48:28
阅读次数:
314
WebPageCache:squid-->varnish程序的运行具有局部性特征:时间局部性:一个数据被访问过之后,可能很快会被再次访问到;空间局部性:一个数据被访问时,其周边的数据也有可能被访问到cache:命中热区:局部性;时效性:缓存空间耗尽:LRU,最近最少使用;过期:缓存清理缓存命中率:hit/(hit+miss)(0,1)页面命中率:基于页面数量进行衡量字节命中率:基于页面的体积
分类:
其他好文 时间:
2018-06-08 15:56:55
阅读次数:
153
Varnish是一款高性能的开源HTTP加速器,Squid服务也是,两者的关系就像apache跟nginx,Varnish更年轻轻量,Squid更成熟稳重。Varnish4.0工作工作流程如下图各个点说明vcl_recv:接收请求vcl_pass,跳过缓存vcl_hit,缓存命中vcl_miss,缓存丢失vcl_pipe,非httpvcl_purge,手动清楚缓存为过期vcl_synth,手动清楚
分类:
系统相关 时间:
2018-06-06 23:47:06
阅读次数:
274
1.Linux性能分析的目的1)找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈);2)提供性能优化的方案(升级硬件?改进系统系统结构?);3)达到合理的硬件和软件配置;4)使系统资源使用达到最大的平衡。(一般情况下系统良好运行的时候恰恰各项资源达到了一个平衡体,任何一项资源的过渡使用都会造成平衡体系破坏, ...
分类:
系统相关 时间:
2018-06-05 20:05:17
阅读次数:
202
性能调优:主要从以下几个方面入手应用代码:假如代码开发的不好,它会导致性能问题,比如数据库的连接在该关闭的时候没有适当的关闭,将会导致应用运行慢。数据库的调优:如果数据库的响应比较慢,那么应用也肯定就会回应的比较慢了。JVM的调优:假如应用需要较多的内存来运行,而你分配比较小的内存,那么就会导致内存溢出,因而也会导致性能问题。中间件服务:比如我们在选择消息队列,缓存或者设计好时,也会导致性能问题。
分类:
其他好文 时间:
2018-06-05 15:35:58
阅读次数:
148
下面通过一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有**ps、top、printf、jstack、grep**。 ...
分类:
编程语言 时间:
2018-06-05 00:35:28
阅读次数:
265