就是项目启动时,把一些基础数据加载到缓存中去,最近有个项目,客户给我们的生产机器的是虚拟机,然后项目部署好后用Tomcat启动,有一张10几万的数据表,加载到缓存里要1000多s,不知道哪里出了问题,数据库用的oracle,正常查询都不慢,就是加载缓存特慢别的客户那里启动都很快,本地加载10多万条数据最多也只要60-70s。。来分析下?

解决方案 »

  1.   

    这个是Tomcat的内存
      

  2.   

    这系统也逗,十几万条数据加载到内存中,还不如单独维护一个工程来搞缓存(redis之类的),也没必要每次启动加载如果两者速度差距这么大,先检查网络情况,十几万数据全查出来并传输到应用服务器也是需要较大带宽的(虚拟机不太懂,得找运维看下)
      

  3.   

    十几万数据也能用做缓存???
    1、检查系统内存是不是走了虚拟内存。
    2、检查数据库服务器与运行tomcat的服务器的带宽。
      

  4.   

    用jconsole监控下java内存使用情况,代码里面日志打印再详细些,具体是查询出来慢,还是写入慢。tomcat 启动最小内存跟最大一致,直接2048试下
      

  5.   


    redis我们也有,涉及到计算的时候用到的redis,缓存是为了提高一些常用操作时的效率