4月 05

越来越慢的java问题

  新上线了一个接口,但是导致整个服务越来越慢。之前所做的压力测试结果也不错,五百并发只要十几秒。因为没有做疲劳测试,当前看来还是有问题。但是具体哪里出了问题还不清楚,需要详细查看。我也不是java开发所以只能是协助分析,先找了个分析工具看看导致瓶颈的主要原因。下载http://java.net/projects/visualvm/downloads/download/release134/visualvm_134.zip,解压缩后直接使用。
  解压缩后在文件夹的bin目录下有两个可执行文件,一个是exe的windows下使用的,另一个是linux下使用的。直接将解压的目录上传到linux操作系统中。准备运行,需要注意的是,linux下运行需要用到图形化,所以要用putty这类的小工具需要开启X11。
  启动# sh visualvm。在左侧可以看到已经启动的容器,打开resin服务。等待运行一段时间如图:
  经过更长时间对比,确定应该是内存泄露问题。因为内存值不断在增长,直至将系统资源占满。正常的接口,进行压力测试时,内存和CPU的值均比较平衡。具体问题使用sampler进行分析,应该是字符转换存在问题,并且没有释放。我直接反馈给开发人员,具体问题就不清楚了,在此做个简单记录。

2月 24

resin 展示静态页面中文乱码

  编辑了一个html,页面编码使用utf-8,保存也使用utf-8,本地直接用浏览器测试正常。但是上传到centos下resin-pro-4.0.6的中文就乱码了。将页面放到centos下的nginx中,中文显示正常。所以确定是resin展示的问题。

  修改resin配置 conf/app-default.xml

原始配置如下:


    
      false
      1024
      true
    
    
  

增加配置

utf-8

,修改结果如下:


    
      utf-8
      false
      1024
    
    
  

重启resin服务,浏览html正常。
注:清除浏览器的页面缓存后测试