欢迎大家来到测试人生,在你休息的时候你可以畅所欲言,空间里也许有些资料可以帮助到你,来吧,朋友,测试人生欢迎你!!!!
日志 [2013年01月08日]
上一篇 /
下一篇 2009-06-04 11:31:23
/ 个人分类:性能测试
51Testing软件测试网9pHcn't ]M1z昨天项目上线测试发生了Out of Memory的JVM错误,导致系统down掉并且服务器文件系统撑爆。检查原因是出现过多内存泄漏,系统的可用内存和性能持续下降;最终将导致内存不足(OutOfMemory)。我们开发用的是IBM WebSphere平台,在websphere/AppServer下生成大量javacore*、heapdump*之类的文件,致使websphere的垃圾回收功能失败而导致。其中,javacore文件是关于cpu的,heapdump文件是关于内存的。
M)D?$s
WZO[u08DsNR5}toy0生产环境是ibm小型机,按照手册修改了:应用程序服务器 > server1 > 进程定义 > Java 虚拟机,将"最大堆大小(默认为256)"改为768或1024以上。删除文件系统中的javacore*,heapdump*后基本恢复正常。分析原因,一是JVM设置问题,二(最终原因)程序不够健壮,很多资源没有即时释放导致资源撑爆。尤其是数据库连接资源。以前也遇到过进程挂起的情况,与此次不同,进程挂起主要原因是SQL查询不能及时返回结果导致页面一直等待资源返回而挂起(suspend)。三是产生大数据量的结果集返回结果。一直怀疑我们用的数据结构不够合理,但是也没有尝试修改。
/b5p-nj,[p Fy051Testing软件测试网4^-\
c&o9x.i总结一下:51Testing软件测试网1I:g-C4y wuw
P0S9{&Fq~,bHI\0关于架构应该使用健全的模式,使用资源后要及时释放和回收垃圾;
s9EtO"g2XH3n0&b4k
{J(V#kj)CU0尽量采用分布式的结构,类似MVC模式;