[1] Unix网络分析和10个有用工具
通过使用各种不同的工具,您可以深入地了解自己的网络。如果希望了解网络的布局、数据包的目的地以及操作者,就需要使用不同的工具来帮助您描绘一幅网络结构图,从中了解网络以及将要发生事情。本教程探讨了一些技巧,可以帮助监视 UNIX® 网络的通信量和内容,以及在网络上发现和诊断问题。
说实话我觉得网络诊断不光是网络工程师的工作,作为开发人员或者是系统管理人员,即使你是个普通用户,都需要对网络有一定了解。否则遇到AD服务器无法验证自己的信息、数据库无法联通、页面重定向失败、应用程序端口冲突、NFS上的文件无法访问、局域网中arp病毒泛滥等问题,没有一定排查技能都会对工作产生影响。在WebSphere Application Server中,IHS转发失败,Nodeagent之间无法同步,在排除配置错误后,往往是网络问题(比如防火墙)。
所以这篇文章http://www.ibm.com/developerworks/cn/aix/tutorials/au-unixnetworkanalysis/index.html 应该是IT民工们好好了解的。
适用于任何 UNIX 系统的 10 个出色的工具
则是介绍 10 个有用的工具,其中一些是您以前可能不太关注的工具,一些是新工具。
[2] web服务器安全
前不久微软爆出MPEG-2视频0Day漏洞,于是众多网站,包括复旦大学、同济大学等高校都被挂马。如果你公司的产品是提供互联网访问的,那么这篇文章改好好看看。平时打好补丁,虽然防不住高手,但也告诉别人我也不是好捏的。
保护 Web 服务器的安全
[3] 小布老师
如果你为没时间仔细看书、阅读上百页文档而烦恼,为没有师傅指点而觉得空虚无聊的话,小布老师的视频讲座应该对你很有帮助。flash格式决定了他的“短小精悍”,没有一集上百兆的尴尬。内容跨越数据库、性能测试、apache、软件开发等多方面,应该是师傅带进门的好学习资料。
当然你对其它内容感兴趣的话,还可以看看别人的教程。
这两天上海38度,脑袋发昏写不出啥东西,就拿以前积攒的内容来充数好了。
在WebSphere Application Server中可以有两个环节可以启用SSL来提高安全性:一是在客户端和IBM HTTP Server(IHS)间启用SSL,二是在IHS和应用服务器之间启用SSL。两个环节可以单独启用,也可以同时开启SSL。
一般我们会在客户端和IHS之间建立SSL连接,因为互联网在信息开放的同时带来了很多安全方面的问题,这点不用我多累述。而IHS一般处在拓扑结构的DMZ区,和互联网之间隔着一层防火墙,应用服务器则处在更安全的内部网络,所以综合安全和响应时间的考虑,IHS和应用服务器之间一般不再采用SSL。
下面两篇文章分别说明了如何在WAS6.0和WAS6.1中使用自签名的证书来开启IHS的SSL,如果是提供互联网服务的话,最好还是购买一下商业CA中心出具的证书,否则跳出个窗口提示证书不安全可就有趣了。
WAS6.0 http://docs.google.com/fileview?id=F.576ac8bd-943c-4de9-a4b0-5f8abd2a477d&hl=zh_CN
WAS6.1 http://docs.google.com/fileview?id=F.4de8195d-6801-450f-8a2c-5ce9ec9990c4&hl=zh_CN
(有别人写的那么好的文档,我就不高兴再自己写鸟,应该可以转的吧)
WAS5.1 下启用SSL方法类似,只是加载的模块为“LoadModule ibm_ssl_module modules/IBMModuleSSL128.dll”
而对申请商业证书,首先要在“个人证书请求”中新建一个请求,填入相关的信息,保存到一个certreq.arm的文件,用文本工具打开后,可以看到
—–BEGIN NEW CERTIFICATE REQUEST—–
MIIBdjCB4AIBADA3MQswCQYDVQQGEwJDTjETMBEGA1UEChMKanFjbHViLm5ldDETMBEGA1UEAxMK
WFpILUhBU0hFSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvOZmF3LojJEaAordCmbK9xze
//caxC+0M399AxFUdTbA6HCC8SImRFgItmfBhXt3GsRekCtcbCOxPWmoIr3A9Y6mOMh0uOkQbVVv
EFlbmyxGNha7tBLrFz3l3juRtHiiyXZ2KPUDu8gWFL6tC2DBvoFVaq9ValeX7umAAKpyQ9ECAwEA
AaAAMA0GCSqGSIb3DQEBBAUAA4GBADOtHdOX0UY2GVKw3trjjrlNO4D2wN05cE6SmBm2zJXOrzdz
WKs01TEsnYlEEWS7Z7vRnhgj23eynd646/Kzxb8biipAL0TUcYkEUMRN1+VSFNdmHRGRQIeolGIf
ZzpZk0I1BHQeccHCdFRItNovWMD4XsmBq3WufgRhyNpHmHPQ
—–END NEW CERTIFICATE REQUEST—–
上传这个请求到CA发行商那里并通过后,会得到一个证书,在“个人证书”里接受即可。
当你的网站有许多个应用,而不希望每个应用都启用SSL,同时希望启用SSL的应用禁止通过80端口访问的话,可以通过“虚拟主机”来实现这个目标。
默认的应用都发布在default_host下,你可以新建一个ssl_enable的虚拟主机,在ssl_enable下仅启用443端口,把应用映射到这台虚拟主机上,那么这个应用只能通过443端口来访问了,而别的应用照旧可以在80端口下访问。
[1] MIXI工程师介绍memcached
上周提到的“豆瓣网技术架构变迁”演讲中,豆瓣的技术总监洪强宁介绍了豆瓣使用memcached的经验。如今越来越多的Web2.0应用采用了这个高速的服务器缓存软件,即便是作为个人blog软件的MT(MovableType)也支持了memcached。如果你还对其不了解的话,可以看一下这篇翻译mixi(http://mixi.jp)两位工程师的文章。语言简洁、通俗易懂,非常适合memcached入门阅读。
http://docs.google.com/fileview?id=F.e49c4d77-af47-4490-ad8c-836bcb819573
[2] WebSphere Portal中启用SSL
安全是如今软件设计中非常重要的一环,Twitter、facebook等热门网站都有爆出安全漏洞使用户利益受到损失的例子。本文则通过“对WebSphere Portal启用SSL进行后台LDAP用户信息管理”来保证用户信息的安全。
在 WebSphere Portal 中启用 SSL 来进行用户管理 之后我会写如何在WebSphere Application Server中开启IHS的SSL
[3] 牛的是人还是环境
一篇文章加上数十个讨论,探讨“牛人”产生的原因,分析牛人是“择良木而栖,逢佳时而鸣”,还是“金子在哪里都会发光”。我们常听说“人总是被提拔到一个他不擅长的岗位”,那么换个环境情况会如何呢?
http://groups.google.com/group/pongba/browse_frm/thread/d39eb6df594ad4d7/
[4]如何克服诱惑
《奥德赛》中,主人翁奥德修斯为抵御海妖歌声的诱惑,预先把自己绑在桅杆上。那我们如何抵御现在那么多的诱惑,做一些一直计划去做,却没有贯彻下去做的事呢?
《棉花糖实验》告诉我们,“much of will is skill”(表面上看是意志力强,实际上则是得法)
http://groups.google.com/group/pongba/browse_frm/thread/0ab29422a5abdb3b#
内存泄漏是比较常见的一种应用程序性能问题,一旦发生,则系统的可用内存和性能持续下降;最终将导致内存不足(OutOfMemory),系统彻底宕掉,不能响应任何请求,其危害相当严重。同时,Java堆(Heap)中大量的对象以及对象间之复杂关系,导致内存泄漏问题的探测和分析均比较困难,采用相应的辅助工具是很必要的。
我使用的比较多的是Memory Dump Diagnostic for Java (MDD4J)和IBM HeapAnalyzer,这两个工具都能支持几乎所有JDK版本所生成的堆转储文件,使用前可以在两者的帮助文件中查看一下支持列表。
先说一下IBM HeapAnalyzer,下载之后首先阅读一下readme,这上面详细写了HeapAnalyzer的使用方法。对于我用的2.6版本(最新为3.8),可以在命令行中输入<Java path>java –Xmx[heapsize] –jar ha26.jar <heapdump file>来启动工具并加载heapdump文件。对于比较大的heapdump,将-Xmx设置一个较大的值(大于heapdump的大小),来避免加载过程中的OOM。对于64位机器上产生的超大heapdump,个人机器上分析就不大可能了。
打开heapdump文件后,我一般点击“Analysis”里的“Tree View”,以树的形式从根节点展示内存对象分配的信息

第一行java.lang.ref.Refenrence这个class及它的76个children占用了67%的已用堆大小(31M/46M),它本身仅占用了76bits。双击java.lang.ref.Refenrence,我们可以看到它所引用的两个子节点。其中一个子节点java.lang.ref.Finalizer后的67%指引我们内存泄漏的问题应该在它的引用上。

阅读全文…
上次介绍了IBM的两款分析gc log的工具(GCMV和PMAT),这次讲讲HP推出的HPjmeter。HPjmeter集成了以前的HPjtune功能,可以分析在HP机器上产生的垃圾回收日志文件。你可以到Hewlett-Packard Java website免费下载最新的4.0版本,当然会让你填一些信息。
接下来我将分析一个实际生产环境下的日志文件,这个生产系统在启用新的功能后应用访问速度变慢,每个操作都要耗时10s左右,通过对比前后不同的gc信息,希望能从JVM的层面来优化当前的性能。
HP小机(Pa-Risc和安腾平台)使用HP的JDK后,使用-Xloggc:filename或者-Xverbosegc:file=filename参数会生成形如
<GCH: vmrelease=”1.4.2 1.4.2.10-060112-16:07-PA_RISC2.0 PA2.0 (aCC_AP)
……
<GCH: mode=n >
<GCH: ncpu=8 >
<GCH: availswap=33554432 >
<GCH: usedswap=0 >
……
<GC: 2 4 9.625554 1 0 31 48539536 0 286392320 0 0 35782656 0 2409608 715849728 20971424 20971424 20971520 0.279391 0.279391 >
<GC: 2 4 10.879321 2 0 31 9797920 0 286392320 0 0 35782656 2409608 2742416 715849728 25165568 25165568 25165824 0.307422 0.307422 >
的日志,这种格式人肉分析就别想了,它可以在PMAT中以Xverbosegc/hpux文件格式打开,但是图象功能我这里没法使用,只好求助于HP自家的工具——HPjmeter了。
分析过程
用HPjmeter加载日志文件后,会自动打开HPjtune的窗口。首先会看到Heap Usage After GC标签页,这是四月份正常的情况(请先忽略systemgc,这点留待后面分析)
阅读全文…
最及时的声音