摘要: JDK自带了一堆JVM的监控工具很多都不错。不过有一套组合工具我觉得比较坑爹的,那就是jmap+jhat。 jmap可以对JVM内存做一个快照,然后jhat可以对快照进行分析,且自带了一个小的httpserver,可通过web方式访问内存分析结果,这对于分析内存中类的装载情况,特别是内存泄露还是比较有帮助的。 但这套工具还是经不住大场面,有次有个4G的内存快照分析,jhat让我无语了。用jhat分析这4G的快照,在32位操作系统下,那直接就out of memory,那也没话讲。换了台64位的服务器,还是out of memory依旧,关键是有时候运行了快大半小时了才报错,郁闷啊。后来... 阅读全文
posted @ 2012-04-11 23:38 苏堤白堤杨公堤 阅读(10686) 评论(0) 推荐(0) 编辑
摘要: 网上也有不少资料提到了作为接口测试工具的soapUI也可以做性能测试。的确如此,soapUI可以模拟多个请求并发,用过循环反复执行,达到了给系统压力传递的目的。不过比起传统的性能测试工具,还是有天然的不足,最明显的就是对于性能测试结果,必须手工做统计。这还是可以克服的,一般比较关注的请求相应时间,可以通过程序中记录请求发出时间和收到相应时间做统计,然后还可以算出系统的吞吐量。还有一个不太好的,就是难以精确控制请求的并发数,像其他性能测试软件,可以精确地控制每秒发出的请求数,而soapUI这点是难以做到的,幸好有时候这并不是非常重要。 可以说,对测试程序做一系列的加工后,soapUI还是... 阅读全文
posted @ 2012-04-11 23:19 苏堤白堤杨公堤 阅读(12805) 评论(1) 推荐(0) 编辑
摘要: 本文算是对最近遇到的软件可靠性问题的一个小结,从非功能层面考虑。市面上好像还没有一本关于软件可靠性方面的权威书籍,所以不知写的是否准确详尽。1. 冗余 系统中的任何部分都需要有冗余,即不存在单点故障,网络链路、服务器主机,再到软件层面的各功能模块,都应具有冗余,保证在系统中出现一个故障点后,可以马上切换到另一处完成任务。现在互联网的数据量大,并发高,一般都会采用负载均衡集群的策略,要做好系统监控检查,笨点的就是ping,另外可通过应用层面去检查。还有就是双机热备的策略,好像一些商用软件这样会比较省license费用。系统再大一点,或许还要考虑异地容灾。 这些应该都是在系统设计、组网层面的,.. 阅读全文
posted @ 2012-04-11 00:27 苏堤白堤杨公堤 阅读(372) 评论(0) 推荐(0) 编辑