Available categories: [/] [development. ~] [working on downwap.] [trouble shooting] [working on Yup Mailman] [general infomation.] [life style]
通过JMX监控Tomcat/Weblogic|Weblogic/Tomcat/JMX/Monitoring [Permalink] Thu May 29 00:08:00 CST 2008 接上篇:wlsmon程序升级为了gui_servmon。主要更新在两个方面:
![]() 图1:fade-out效果 ![]() 图2:突出显示效果 如图,在进行突出显示的时候,会自动关闭fade-out效果。 应该说比上次有了不少进步,尤其是在看不到的代码扩展性方面。 主要参考资料: http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Posted by: miles 通过JMX监控weblogic服务器Pending Requests|Weblogic/JMX/Monitoring [Permalink] Thu May 15 22:11:35 CST 2008 在应用linux服务器后性能和稳定性方面有了比较大的提升。但同时带来的问题就是linux的易用性方面相对差一些,尤其是在系统计数器方面,缺乏GUI的实时监控能力:
Posted by: miles jdk1.5/1.6下xslt时xalan版本问题|xalan version problem in XSLT under jdk1.5(jdk5) & jdk1.6(jdk6) [Permalink] Sat Aug 11 13:16:38 CST 2007 在jdk1.5/1.6下,现有的xslt会失败。
Posted by: miles A permission problem during MRTG intallation|MRTG安装中的权限问题 [Permalink] Mon Mar 05 14:10:13 CST 2007 今天给136配置了MRTG服务,用来监控流量。由于安装过太多次,所以整个过程都很顺利。安装到位后启动时出现如下错误: 2007-03-05 13:39:49 -- ERROR: Skipping webupdates because rateup did not return anything sensible 2007-03-05 13:39:49 -- WARNING: rateup died from Signal 0 with Exit Value 1 when doing router '127.0.0.1_16777219' Signal was 0, Returncode was 1 2007-03-05 13:39:49 -- ERROR: Skipping webupdates because rateup did not return anything sensible 2007-03-05 13:39:49 -- WARNING: rateup died from Signal 0 with Exit Value 1 when doing router '127.0.0.1_16777220' Signal was 0, Returncode was 1上网搜了一下,没有找到贴题的文章,但是看到好几个由于权限问题导致的MRTG错误。所以检查了一下MRTG的output dir,把这个目录的权限设置为Everyone可写,问题解决。看来应该是启动MRTG的帐户对这个目录权限不足造成了写入文件失败。特此记录,一面日后重蹈覆辙。
Posted by: miles Web Standards Addictive [Permalink] Thu Jul 17 13:57:28 CST 2008 Web标准真是个好东西,越搞越上瘾,明明是很没逻辑的html,也能写得好像很有逻辑似的,讲起来头头是道。
Posted by: miles FTP server: the Passive & Port Mode|FTP的主动模式与被动模式 [Permalink] Mon Dec 25 17:58:34 CST 2006 ftp服务分主动(PORT)与被动模式(PASV)两种模式。其主要区别是由服务器端还是客户端开启动态端口。前两天刚刚了解过这方面的相关知识,但是没有想到这么快就用上了。
Posted by: miles 昨天找到一家不错的陕西餐馆 [Permalink] Mon Mar 20 16:50:36 CST 2006 老婆看到二环上有一家陕西餐馆打出了葫芦头和biangbiang面的招牌,想来应该不简单。于是昨天携百忙之中的夫君我一同前往鉴定。
Posted by: miles The performance of predefined objects in ASP|ASP内置对象的性能 [Permalink] Fri Mar 17 16:06:49 CST 2006 代码片断一: <% Dim localArray(5000) for i = 0 to ubound(localArray) randomize localArray(i) = rnd()*1000 next application("tester") = localArray start = timer for i = 0 to ubound(application("tester")) if application("tester")(i) > 800 then application("tester")(i) = 800 end if if application("tester")(i) > 700 then application("tester")(i) = 700 end if if application("tester")(i) > 600 then application("tester")(i) = 600 end if if application("tester")(i) > 500 then application("tester")(i) = 500 end if next response.write formatnumber((timer - start), 2, -1) %> 代码片断二: <% Dim localArray(5000), localArray2 for i = 0 to ubound(localArray) randomize localArray(i) = rnd()*1000 next application("tester") = localArray start = timer localArray2 = application("tester") for i = 0 to ubound(localArray2) if localArray2(i) > 800 then localArray2(i) = 800 end if if localArray2(i) > 700 then localArray2(i) = 700 end if if localArray2(i) > 600 then localArray2(i) = 600 end if if localArray2(i) > 500 then localArray2(i) = 500 end if next response.write formatnumber((timer - start), 2, -1) %> 猜猜看这两段代码性能差别会有多大? 至少从代码结构上看相差不大。第一段使用application存储数组并直接通过application来使用它;第二段则是将application中存储的数组拿出来做循环。前者应该是过集合方式取得内容,然后拿出来用,所以多了一个遍历集合和方法调用返回的过程。 可是实际每段代码执行3次时间如下: 第一段:9.14s 9.19s 9.91s 第一段:0.03s 0.03s 0.03s 不过5000次循环,可差距远比想象中大得多!而且随着循环次数增加,性能会急剧下降。1000次循环时候第一段不过是0.4s而已,5倍的循环次数就用了20多倍的时间。亲娘咧,真费解啊~~~ 原因有时间再探查,结果算是记住了。。。估计request/session也好不到哪里去。
Posted by: miles Another way to deadlock | 另类死锁 [Permalink] Sat Oct 08 17:41:45 CST 2005 前段时间系统频繁出现死锁。按照目前站点压力来看绝对不正常,但是一直也没有找到原因所在。今天翻代码的时候,无意中发现DBHandler类在open()方法中,从pool获取conn之后执行了conn.setAutoCommit(false);而之后没有任何地方有显式的conn.commit();。因为close时候实际只是把conn送回pool,所以这样一来,唯一的机会就在下次这个conn再被取出并执行conn.setAutoCommit(false);的时候隐式commit了(*根据规范,setAutoCommit()会提交当前所有trans)。
Posted by: miles Get Ip Addr. From The HttpServletRequest Wrapped By The "iisforward" ISAPI Extension In Weblogic | 通过iisforward isapi ext访问weblogic的取ip问题 [Permalink] Sun Oct 02 12:46:42 CST 2005 在IIS+Weblogic整合系统中,像移动网关一样,iisforward这个ISAPI过滤器也会对request对象进行再包装,附加一些WLS要用的头信息。这种情况下,直接用 WL-Proxy-Client-IP=211.161.1.239 Proxy-Client-IP=211.161.1.239 X-Forwarded-For=211.161.1.239 WL-Proxy-Client-Keysize= WL-Proxy-Client-Secretkeysize= X-WebLogic-Request-ClusterInfo=true X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-327089098 WL-Proxy-SSL=false综上,正确作法如下: public String getIpAddr(HttpServletRequest request) { String ip=request.getHeader("X-Forwarded-For"); if(ip == null || ip.length() == 0) { ip=request.getHeader("Proxy-Client-IP"); } if(ip == null || ip.length() == 0) { ip=request.getHeader("WL-Proxy-Client-IP"); } if(ip == null || ip.length() == 0) { ip=request.getRemoteAddr(); } return ip; }如此一来,就可适应各种情况,包括通过移动网关访问(会附加X-Forwarded-For)。通过这个简单例子可以看出封装和抽象的重要性。
Posted by: miles |
? |
Available categories: [/] [development. ~] [working on downwap.] [trouble shooting] [working on Yup Mailman] [general infomation.] [life style]
html hits:?23562