性能调优step by step (七) --遇到的问题(方法策略和代码问题)



1. QA 测试时,第一次去链接时间较长
处理方法:应该去除第一次链接的时间,第一次链接的时间包含了DNS解析等等,比较消耗时间,这个和访问web页面一样的道理。才能模拟正常的使用情况。
2. 测试错误率要求在0.01%-0.05%,目前太高。
处理方法:测试程序覆盖了原有的result是false 还是true 的方法。导致有些成功的也返回false。


3. jprofile 跟踪到代码有cpu-views  刷新缓存消耗较大。Kill -3 发现大量线程都在执行这个代码
(1)中有对对象的序列化,比较慢
    
  List<CorpInfo> listCorpInfo = new ArrayList<CorpInfo>();
       for (String vaccountId : vaccountList) {
           CorpInfo corpInfo =  corpInfoCacheService.getCorpInfoByVaccountId(vaccountId);
            if (corpInfo != null) {
               listCorpInfo.add(corpInfo);
           }
        }



解决方法:刷新的是公司列表数据,由于corpinfo不是java 内建对象,采用java自有的序列化机制,效率不高,修改代码改变缓存实现策略(刷新缓存返回时不返回公司列表,返回null,不用序列化公司实体了)

你可能感兴趣的:(Web)