我用MINA框架写了一个SOCKET通讯服务器,部署到WINDOWS上运行,响应一个客户的请求大概是1秒,而在LINUX ENTERPRISE 4上是3秒-5秒。
  这是为什么呢?是不是什么地方没配置好,请教各位大侠,谢谢!
  用的都是SUN 的 JDK1.6

解决方案 »

  1.   

    装linux 的是一台pc server 4G内存
    而windows的是一台IBM R60笔记本。
    应该LINUX的机器更好我们做了个并发测试,一台AIX的服务器一口气提交300个请求过来,LINUX的服务器处理完请求要3分钟左右
    而windows大概1分钟左右搞定,郁闷。!
      

  2.   

    我用LOG4J记录日志跟踪了下。 模拟的情况是这样的:一台机子发送一个socket请求到服务器上(重复做3次) 结果观察到所耗费的时间区别就是在我程序中的一个类(由AIXS2生产的访问webservice代理对象)的创建中(new) windows服务器 创建这个对象的时间如下:第一次 700-800ms 第二次60ms 第三次30ms 
    LINUX服务器 每次都要2m左右 程序中其他模块所消耗的时间基本相同,没太大区别(其他模块也基本没什么对象生成) 难道WINDOWS上NEW一个java对象速度比LINUX上真快?
      

  3.   

    想起一个问题
     我windows上是用myeclipse启动跑的
     
     而LINUX上是在WINDOWS上通过myclipse打包成jar部署的(因为比较懒,把MINA和AXIS中所有的JAR包全部引入了)。 会不会是因为这个导致慢?
     打包JAR时,如果工程引用了过多的多余JAR是不是会影响效率?
      
     初次写JAVA,请多帮助
      

  4.   

    这个还没有研究过,按道理说Linux比Windows快些的
      

  5.   


    linux上的是不是没有调优?网络问题?很多情况,按道理说Linux比Windows快些的
      

  6.   

    既然要测试,虽然硬件环境决定你不可能相同,起码软件环境要一致吧?建议都打包成jar以application形式运行,不要一个在myeclipse下,一个以application运行。至少,两类程序分配的内存要一致!这是最关键的。
      

  7.   

    不好这么比较的
    比如你的web容器启动参数是否一致最好是用JPROFILER这样的软件跑下后再比较
      

  8.   

    以前记得从哪看过windows版的java虚拟机性能更好。
      

  9.   

    问题解决了,谢谢楼上的兄弟,罪魁祸首就是JAR打包造成得我使用MYECLIPSE7.0M2自带得打包向导(runnalbejar,好像又拼错了)打包成JAR得,打包后他把所有程序中用到得第三方类库全部打进去了。我仔细看了下打包后得JAR里有很多多余得配置文件和一些类包,我就尝试得删除了多余得配置文件和一些多余得类包(类包应该不是问题,问题应该是多余得配置文件),然后无论是不打包就这样运行,还是再打包JAR运行,都不存在效率问题,速度运行都很快了~补充说明:给我感觉还是LINUX比windows快,后面这样搞就好了另外我还有一个问题,是不是MYECLIPSE那个自带打包程序有时不够智能,存在问题,你们平时都是怎么打包得,用什么工具?
    (我得要求是打包成JAR就可以,程序中用到了很多第三方类库)备注:我这个程序是个SOCKET程序,不是什么J2EE,没有用到WEB容器,就直接用JVM跑得
    再保留两天,两天后结贴,先谢谢楼上得各位大侠~
      

  10.   

    打包,要么用eclipse的export,要么用netbeans的dist,要么就是直接用ant
      

  11.   

    没试验过==== 
    欢迎加入!
    ------------------------
    qq群 59011611
    深圳外包.J2EE群
    qq群 43652320
    在线程序员论坛