作者·2011-04-27 10:24
·

WebSphere从相识到相知[收藏]

字数 2650阅读 6196评论 27赞 9
谈起WebSphere,我确实有段噩梦与之相随!
初识WebSphere是在2006年6月,我作为项目组的技术人员参与,某电信运营商的营帐集中系统研发,并负责整个环境的搭建和调优。从项目初期搭建环境就是WebSphere的Web Application Server,同时使用了F5进行16台机器的负载均衡,请各位读者注意细节:我们使用的是Web Application Server(WAS),因为我和我的研发团队的噩梦也是从此开始的!
项目经过半年左右的研发、测试、压力测试、割接实施等系列的过程,我们终于在2007年初的某个周五夜间上线了,系统运行第一天平稳;第二天平稳;第三天,我的噩梦开始了:
16台Web服务器里的10台相继hang住了,其中有3台出现了core文件和dmp文件我们是个7*24小时的运营系统,所以我的第一反应就是重启WebSphere的WAS服务,保证对外服务的正常运行,重启后服务可以正常运行!
第四天,12台服务器无法使用;第五天,8台;第六天......,我们的噩梦持续了一周。期间我们对所有的core文件进行分析,但是触发错误的都不是一个程序和功能,而最终的日志都是告诉我们结果是一样的Out Of Memory ,也就是说压倒骆驼的最后一根稻草不一定是哪一颗!
从项目上线的第三天开始,我有半个月左右的时间,每天都有一个雷打不变的工作就是接到我们维护工程师的电话后去重启WAS的服务,有时是白天,有时甚至是半夜、凌晨。
无奈之下,我在16台服务器上布置了监控的shell,尝试去登陆页面,超过我的最低限额时间了就重启,无奈之下想出来的临时的方案持续了3个月之久。07年4月开始,项目研发工作和数据库的设计改造工作结束(我是DBA,所以侧重数据库多一点),我开始疯狂的寻找WAS方面的资料,仔细研究我们配置的WAS参数是否存在问题,同时对系统进行改造。
基于当时Web服务器(HPDL380 4C/8G、Linux AS4.6),通过多次试验评估,最终我的解决办法如下:
Java虚拟机的配置修改:
1.禁用详细类
2.启动垃圾回收
3.禁用详细的ini
4.配置初始堆大小=最大堆大小=1.2G
线程池和数据连接池的配置修改:
我抛弃了以前IBM专家建议的漏斗形配置,因为我们的系统相对比较独立,单个server对应单个的数据连接池,漏斗会造成瓶颈,产生不必要的资源浪费,我的配置方式是 线程池=连接池。
单节点开多个AppServer:
我要在每台服务器上创建3个appserver,方案开始推的过程,受到了我们项目组人维护人员强烈反对,因为系统不是一成不变的,是要升级的,而我们的集群是通过硬件的方式实现的,升级的过程目前有16个节点了, 16*3对于他们来说压力着实很大,再次我也深表歉意,但是非常感谢,我坑害弟兄方案最终还是实施了!
5月份我解决办法上线,尽管用LoadRunner无数次的压力测试,最终的结果证明了我的方案是无效的。我只是减少了Web服务hang住的频率,但是平均每天都会有5-10个WAS重启。这里不誓闶意要提及LoadRunner,我知道可能是我用的方法不当,但是我确实比较恨我在调试过程中使用的所有的工具,我当时差点砸了自己的笔记本!
我开始觉得是开发的代码存在质量问题,觉得测试组测试把关不严,我开始找各组的负责人讨论、吵架,开始怀疑团队里的各个环节,我知道自己失控了......
6月中旬,申请休假,调整自己的情绪。一周的时间里,我每天都坐在大连的海边,看着涌动的大海把游泳的海鸥打的浑身是水的飞起来,我觉得自己很渺小、失败、很多事情是我们都无能为力,起码不在我的能力范围内!
6月的休假很快结束。上班刚好有位IBM的专家来公司沟通,介绍DB2数据库。我去听了,结束之后我无意间提起我们项目组的困扰,没想到这位专家很热心的给了我一个电话,让我去咨询一下。在此我非常想提一下这个帮助我的法国专家:MarXu,我们聊了10几分钟,他提醒了我一个重要的信息:“ Why don't you try Http and Plugin?”
沟通真的很重要,就是这句话,完全解决了我所有的困扰!
6月末看了关于Http Server里的优化 、压缩、缓存等一系列的文章,最终开始了我第二次优化实施方案的制定。
其实一旦知道了目标,问题就很容易解决了。因为这方面的文章里明确地写明了IBM的建议:“IBM不建议WAS单独使用,必须和HTTP Server一起使用,否则会存在严重的内存泄漏和性能问题”。而且WebSphere的安装包里就有HTTP Server的介质,我从来都没想过为什么IBM这么发布,这个是我惰性的体现!当然,这些都是读完介绍Http Server和WAS的文章之后才发现!
停止介绍这些事情吧,简单介绍新的实施方案:
1.WAS的部分不动;
2.前端搭建IHS和Plugin;
3.配置HIS里的http.conf,增加对大对象(图片、flash文件、音乐、上下传文件)的压缩功能、增加JSP页面的缓存功能......;
4.配置新的WAS,配置新的端口通过Plugin和HTTP之间进行内部通讯;
5.修改F5的地址和端口指向HTTP的端口,由HTTP和Plugin插件转向WAS,实现http.conf里配置的功能
7月中旬,我满怀信心的提交了第二份关于Web应用的优化方案和测试结果给项目经理和用户,7月末方案评审通过,实施!
实施后的优化结果:
1.从7月之后我布置在主机上的监控shell就从来没有重启过WAS;
2.项目组已经陆续停掉了各个服务器上其它appserver,保留单机单节点的模式;
3.从http的压缩日志上可以看到流量减少了80—90%;
4.晚上再也没有人打电话拿WebSphere的问题骚扰我了;
5.整理文档发布到公司的知识论坛;
6.07年8月我开始筹备结婚,到大连开发区的海边拍婚纱照!
后记:
今天看见WebSphere的征文,突然想整理一下自己学习和使用WebSphere的过程和大家分享一下。现在公司的新人都是拿着整理好的安装文档去实施,从来也不问为什么这么做,我自己也都快忘记了。今天看见征文想起来学习的过程,其实我是很想感谢WebSphere的研发团队,在使用的过程中能这么锻炼一下自己,磨练一下自己的性格,同时也希望给刚开始学习WebSphere的人起到一个抛砖引玉的作用,当然也希望各位不要砸砖头!有需要细节实施文档的帮我顶贴留Mail哈!

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

9

添加新评论27 条评论

dolandolan软件开发工程师紫金
2016-03-09 22:05
学习了,,多谢
wz303583420wz303583420开发工程师上海
2013-05-20 22:03
希望强大的楼主能给我发一份实施文档wangzhe008@163.com
ttff521xxttff521xx软件开发工程师山东移动
2013-01-05 17:25
膜拜大神303490294@qq.com
zhou050334zhou050334系统工程师蓝色快车
2012-07-31 10:09
327512450@qq.com
sun82111sun82111软件开发工程师ls
2012-07-24 15:15
学习中
xiaomuxiaomu项目经理软件公司
2012-05-09 12:27
楼主很强大,想和楼主交流一下,
niecxd@163.com
qianfo_713qianfo_713项目经理华西公用医疗信息服务有限公司
2012-05-09 12:16
qianfo_713@163.com  学习!!
xiaooozhenxiaooozhen其它Suse
2012-04-23 17:43
我信了。。。。48355714@qq.com
piaohua2005piaohua2005软件开发工程师msnt
2012-03-13 23:47
楼主很强啊~~~~~~~~~~~
lichuan128lichuan128系统工程师中科软
2012-02-21 14:52
您好:我们现在的平台就是用的was6.1,共22个集群,每个集群7个节点的,只是使用了was集群,没有使用HTTP server,用的是硬件RADWARE做转发,想和楼主交流下,谢谢。我的QQ邮箱:252530785@qq.com
mortimermortimer业务部门经理山东汇智科技
2011-09-28 00:03
学习!!!
cary_candycary_candy软件开发工程师JF
2011-09-09 17:38
websphre 菜鸟期待lz的精彩文档 jeromecandy1@gmail.com
hebeyinhebeyin运维工程师IBM
2011-08-16 10:12
hebeyin@hotmail.com  学习急需啊 ,谢谢啊
yuanqcyuanqc运维工程师bhr
2011-08-04 15:19
能不能给我一份,yuanqc1980@hotmail.com,先谢谢了

2011-07-20 12:25
顶楼主.............
jjsluckjjsluck软件开发工程师上海新炬
2011-07-06 18:01
missing_wymissing_wy技术经理上海100联
2011-07-01 22:14
顶楼主,感谢楼主的奉献精神 mail:whwangyuan@126.com,谢谢!
penguinhepenguinhe项目经理成方金融信息技术服务有限公司
2011-06-28 18:03
如果能得到您的实施文档我将非常感谢!我的mail  :penguinhe@gmail.com
zhrd2011zhrd2011系统工程师就不告诉你
2011-06-28 17:28
我希望你能请将实施文档及之前部署的shell监控脚本邮箱至zhrd2011@163.com。万分感谢
zhrd2011zhrd2011系统工程师就不告诉你
2011-06-28 17:26
首先,不管你能不能发给我,我看了这帖子,先顶一下。你哪无私奉献的精神,值得我们学习。
xing84xing84系统管理员银行
2011-06-25 16:39
前辈,请将实施文档及之前部署的shell监控脚本邮箱至xing84@126.com。万分感谢
thksyouthksyou软件开发工程师暂无
2011-06-23 14:26
学习中,谢谢分享。邮箱:thksyou@gmail.com  谢谢!
lin_jacky2001lin_jacky2001企业负责人coactsoft
2011-06-15 20:36
谢谢,世界因为奉献才美丽。lin_jacky2001@sina.com
999lcs999lcs系统工程师hp
2011-06-11 23:21
顶前辈,邮箱:999Lcs@sina.com
nuoxuannuoxuan程序员英孚思为
2011-06-08 22:43
楼主给力,顶起, 邮箱:chengxuan08@yeah.net
yongbyqzhyongbyqzh系统工程师圣叶科技
2011-06-07 10:59
实施文档发一份给我啊。谢谢啦,新后学习中,zhshen21@139.com
wangqh_2008wangqh_2008数据库管理员科迈
2011-06-05 16:36
顶一下,支持!!!

实施文档发到我邮件wangqh_2008@163.com
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广