twistman的技术日志

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

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

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

获取Linux进程的unlimited值

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

如何不用userId和password停止WAS server

如果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的密码。

内疚不会让爱持久

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

巨型websphere拓扑

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

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

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)

websphere WTRN0006W 事务超时

继续调查上一篇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的原因才能解决问题。

在IHS access log里查找死锁的URL

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

设置HP QC(MQC)发送邮件

在项目里面需要设置mqc发送email服务。但是MQC 9不支持ESMTP认证,真土!太土了!居然这么普通的业界标准都不支持!一般折衷的方式是用一些支持esmtp的邮件中转软件来做转发。但是遇到反垃圾邮件策略比较严谨的邮件服务器就转发不成功。严谨的发垃圾邮件策略是会校验发邮件的用户ID和ESMTP用户登录的用户是否一致。如果不一致就会禁止用户发送邮件,这个设置是为了防止盗用他人的ESMTP帐号来伪装发件者发送垃圾邮件,这策略很普通很通用。因为MQC生成邮件的方式是使用注册帐号里面登记的邮件地址生产的,所以即便是用邮件中转软件也不能发送。因为转发软件只是纯转发,不能帮你把发送人修正成ESMTP的验证帐号。