![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
疑难杂症
文章平均质量分 71
iteye_5555
这个作者很懒,什么都没留下…
展开
-
2006年遇到的CGLib造成的Perm Space out of memory错误
疑难杂症类别是总结了笔者这么多年来开发的经验总结 2006年开发公司里的一个产品时,发现了一个很难解决的问题: 问题现象:Tomcat跑一天Perm Space 报outofMemory的错误,后来就调整JVM的PermSize,调大后,一天稍长时间又出现这个错误,有点晕了。 环境:JDK1.5,Tomcat5,Hibernate+Spring 问题解决:想了半天,...2010-02-25 21:55:28 · 148 阅读 · 0 评论 -
基于Flash版的Desktop sharing性能优化过程
性能优化是个比较漫长的过程,性能优化,往往需要先找到突破点-也就是程序最耗费性能的地方在哪里。 第一步优化:我们在做Flash版的Desktop Sharing的性能优化过程中,发现了以下问题:1.发现Red5 0.7版本存在内存泄露2.抓屏出的一帧数据特别是关键帧经过ZLIB压缩以后,最大的图片大小达2M 这个是我们最初做测试时发现的问题,于是我们做了以下的努力:...原创 2011-01-24 14:31:42 · 128 阅读 · 0 评论 -
Red5 0.7 版本的内存泄漏分析和解决方案
Red5作为多媒体的开源的框架,实现了RTMP协议,完成了视频,音频和多媒体数据的传输和解析,很多的产品都在使用它。我们同样在用他们的服务,但是遇到一个内存泄漏的问题,这个内存泄漏是如何发现的呢: 现象:服务器跑了两天左右,出现了两种情况:1.内存溢出2.内存没有溢出,但是提供不了任何服务,服务器不能接收任何request 分析:1.扩大虚拟机的内存,结果服务器...2010-12-10 21:52:10 · 118 阅读 · 0 评论 -
谨慎使用MaxGCPauseMillis
这段时间一直在调整性能,我们的项目要求尽量低的PauseTime,想到了ParallelGC的MaxGCPauseMillis参数,设置了个40ms,最后把服务器给弄坏了,也很奇怪,服务器还在跑,但是提供不了任何服务,想了好几天,也没有找到原因,因为我之前做的都是好好的,没有出现任何问题,终于想起来了,是虚拟机参数设置的原因,看样子,光有理论还是不行,还是需要实践,SUN公司的说明里面也有谨慎使用...2010-12-06 08:24:15 · 6183 阅读 · 2 评论 -
基于Red 5的桌面共享系统的性能优化-综述篇
项目总体介绍Red5作为著名的Open Source 的Flash Media Server,自推出以来,收到广大的开发者的关注,但是在它基础上构建成功的项目比较少见,是Red 5本身的问题,还是Adobe指定的规范的问题,如果对此类系统进行优化是一个我们想做商业级产品应用需要考虑的问题。 基于Red5的桌面共享系统是部门新开的一个项目,目前完成了一些基本的功能,如桌面共享,远程...原创 2010-11-09 16:00:26 · 135 阅读 · 0 评论 -
Log4j引起的Performance bottleneck
log4j在Java开发中非常广泛,在企业级应用中,有大量的日志需要记载,我们有一个系统每天记录的日志达到16G,是个庞大的数字。 我们在开发过程中发现类似下列的代码: public class TTTT extends HttpServlet{ private static final Log log = LogFactory.getLog(TTTT.class);...2010-05-14 14:39:19 · 85 阅读 · 0 评论 -
StringBuffer的内存溢出实例(转自Ahuaxuan的文章)
Ahuaxuan在公司属于大牛级别的人物,技术理解深入,口才更好,人品也好。 转载这篇文章,想做个JVM方面的专题: Ahuaxuan的这篇文章写得很好,做个转载,过段时间准备制成PDF。 /*@author: ahuaxuan@date: 2010-4-30/在内存充裕的情况下的OOM ...原创 2010-11-05 15:21:17 · 2614 阅读 · 0 评论 -
压力测试时抛出java.net.SocketException: Too many open files
造成这个异常有两类原因:1.Linux默认的socket描述符数量为1024 抛出这类错误的原因是Linux默认的socket open file的数量为1024,当压力测试达到这个阈值时就会抛出这类错误,下面的文章有详细的解释: Issue:How do I set the maximum number of files allowed to be open o...2010-04-20 17:09:23 · 147 阅读 · 0 评论 -
Tomcat 6默认的maxThread,官方文档有错误
我们前段时间遇到一个很奇怪的问题,Tomcat6使用默认的配置,在进行压力测试时,老是报错,用Jmeter模拟40个用户并发时,正常,当超过60个时,居然全部报错,打开server.xml可以看到如下配置: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ...2010-04-20 17:05:41 · 430 阅读 · 0 评论 -
不可忽略的Keep Alive
在网页开发过程中,Keep-Alive是HTTP协议中非常重要的一个属性。大家知道HTTP构建在TCP之上。在HTTP早期实现中,每个HTTP请求都要打开一个socket连接。这种做效率很低,因为一个Web 页面中的很多HTTP请求都指向同一个服务器。例如,很多为Web页面中的图片发起的请求都指向一个通用的图片服务器。持久连接的引入解决了多对已请求服务器导致的socket连接低效性的问题。它使浏览...原创 2010-02-25 22:18:21 · 141 阅读 · 0 评论 -
内存的大量占用,造成系统吞吐量急剧下降
最近阿里的朋友,遇到一个性能问题,现象如下: 他的一个api里面有5个外部的service需要调用,在压力测试情况下,出现性能很差,响应速度很慢,系统吞吐量也很快下降。 最终查明,他的api调用其中一个service的时候,return的数据有700多条数据,进行压力测试的时候,young generation不够分配,大量的请求后的数据,直接分配到old generation了,...原创 2011-03-17 22:02:18 · 555 阅读 · 0 评论