twistman的技术日志

专业系统工程师打杂,副业Linux geek

不重启was server重新加载应用class文件
On

在开发系统里面,代码更新快。每次更新class都要重启会很麻烦,特别是像websphere was 这样庞大的应用服务器。重启一次的时间真是…… =.=!所以好多开发人员都喜欢在tomcat上开发,搞好了再放上去was上面测试。 作为商业软件websphere was有免重启重新加载class的设置,他原理也是定时扫描应用的class文件有没有更新,如果有的就重新加载。当然会对应用服务器带来一定的开销,所以只建议对开发服务器和UAT测试服务器设置,不建议对生产系统和压力测试系统设置。

Read More
获取Linux进程的unlimited值
On

有一次在客户的一个weblogic系统,我在shell环境变量明明设unlimited的值是65535,但是他日志死活都报too many open file。到底设置到底生效了没有?还是系统的压力真的那么大?lsof看应该是没那么大。就不知道怎么查那个weblogic的JVM进程的unlimited值是多少呢? 原来cat /proc/PID/limits可以知道某个进程的unlimited值!

Read More
如何不用userId和password停止WAS server
On

如果was启用了安全性,在停止WAS server的时候必须输入用户名和密码:./stopServer.sh server1 -username wasadmin -password wasadmin 黑客可以通过查询脚本、shell 历史、ps -ef等方法看到用户名、密码,造成安全隐患。 解决问题的方法:编辑 /WebSphere安装目录/profiles/server目录/properties/soap.client.props com.ibm.SOAP.securityEnabled=true com.ibm.SOAP.loginUserid=wasadmin com.ibm.SOAP.loginPassword=wasadmin com.ibm.SOAP.loginUserid登录DMGR的用户名,com.ibm.SOAP.loginPassword 为登录DMGR的密码。

Read More
内疚不会让爱持久
On

“你爱一个人就要伤害她,因为唯有内疚才能让爱更加持久。” 这一段对白是《婚前试爱》的一个核心的对白,整个故事都是围绕这句外卖妹的对白而发生的。 近来学习ing哈佛大学公开课的幸福课。课程的英文原名叫Positive Psychology积极心理学。我更喜欢课程的英文的原名。所以我就是用这个课程学到的知识点来分析一下这部戏荒谬的观点!

Read More
巨型websphere拓扑
On

在学习websphere的时候就觉得比weblogic复杂很多。我的同事说was和weblogic最大的不同就是was十分灵活,能适应不同环境,不同的拓扑的需要,特别是分布式的数据中心。今天看到一遍关于巨型websphere拓扑的最佳实践文档更是目瞪口呆。 拓扑 1: 每一个节点和节点应用服务器均衡。这种适合应用变化较少的生产环境。 DMGR部署在专用服务器上。30节点分别部署在专用的服务器上,每个节点至少有40个server。大约一个cell里面有1200个server。

Read More
Runtime Provisioning按需启动:was7加快启动速度,节省内存的新特性
On

WebSphere Application Server V7的新功能:Runtime Provisioning。应用服务器启动的时候不启动所有的组件,在需要时再启动组件。 应用场景: 1、应用只使用servlets和JDBC。没用使用EJB,安全性等,可以打开选项。加快应用服务器的启动时间,节约内存。 2、在Node agent、dmgr、proxy server、administrative agent,这些需要快速启动的组件。只会启动部分的管理组件。 打开方法: 在系统管理=>Deployment Manager。的配置页面里面。选上在需要时启动组件的复选框。 在系统管理=>Node Agent。的配置页面里面。选上在需要时启动组件的复选框。 应用程序服务器 > 服务器配置页面。选上在需要时启动组件的复选框。 (英文版的选项框名字:start components as needed)

Read More
websphere WTRN0006W 事务超时
On

继续调查上一篇blog的故障。在websphere的SystemOut里面发现很多WTRN0006W的信息。 [10/24/07 14:59:52:662 EST] 0000000f TimeoutManage I   WTRN0006W: Transaction 0000011056531F8D000000050001C7E40B304AAB611AB4FC574CE136F63A9E07BE78A01B0000011056531F8D000000050001C7E40B304AAB611AB4FC574CE136F63A9E07BE78A01B00000001 has timed out after 120 seconds. 这个日志意味着这个事务在交易生命周期时间(Total transaction lifetime timeout)里面不能提交或者回滚。webspere默认值为120秒。当然WTRN0006W本身不是问题所在,而是一种症状。我们需要找到导致WTRN0006W的原因才能解决问题。

Read More
在IHS access log里查找死锁的URL
On

这几天有个客户的系统很慢。要调查原因,应该是DB2死锁的问题。但是当时没抓到死锁,所以没能够找到导致死锁的sql预计。这样只能换一个方法,从中间件入手,找最慢的URL。然后通过url找到相关的应用,应用找sql。 前提是IHS日志的格式有统计记录页面时间,例如: LogFormat “%h %t %u %v:%p(%P) %m-%H %TSec. %>s %b \”%U\” \”%q\”” common

Read More