tomcat 优化到每秒并发1000

出自:http://www.javaeye.com/topic/190329?page=1
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
现在系统部署只能达到240+ , tomcat + apache 也只能到 900 + ,看到robbin的发帖能达到1000 ,不知道该如何配置,特来请教:
http://www.javaeye.com/post/370111?page=8
robbin 写道
既然你用tomcat4都可以达到并发600,那tomcat5.5在同样环境下经过调优完全可以达到1000,看来问题还是在于你们tomcat没有配置好。

附带环境配置如下:

 

  环境配置如下: (jdk没有用 -server)

Java代码 复制代码
  1. windows 2003 企业版 sp2  
  2.   
  3. Intel(R) Xeon(R) 4 CPU 5130 @ 2.0GHz 4.00GB 内存  
  4.   
  5. apache_2.2.8-win32-x86  
  6.   
  7. mod_jk-apache-2.0.59  
  8.   
  9. jdk-1_5_0_14-windows-i586-p.exe -client  
  10.   
  11. Tomcat-6.0.16 + apr  
windows 2003 企业版 sp2

Intel(R) Xeon(R) 4 CPU 5130 @ 2.0GHz 4.00GB 内存

apache_2.2.8-win32-x86

mod_jk-apache-2.0.59

jdk-1_5_0_14-windows-i586-p.exe -client

Tomcat-6.0.16 + apr
 

 

server.xml

Xml代码 复制代码
  1. <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="2000" minSpareThreads="1000"/>  
  2.   
  3.   
  4. <Connector port="8080" protocol="HTTP/1.1"   
  5.            connectionTimeout="2000"   
  6.            redirectPort="8443"  enableLookups="false"   
  7.   acceptCount="5000" maxThreads="2000"/>  
 

catalina.bat

Java代码 复制代码
  1. set JAVA_OPTS=-Xms1400m -Xmx1400m -Djava.awt.headless=true  
set JAVA_OPTS=-Xms1400m -Xmx1400m -Djava.awt.headless=true

 

index.jsp (除了下面这些代码,还有200行html代码,没有一个图片)

Java代码 复制代码
  1. <%  
  2. for(int i=0;i<1000;i++){  
  3.    request.setAttribute("key_"+i,"value_"+i);     
  4. }  
  5.   
  6.   
  7. for(int i=0;i<100;i++){  
  8.    request.getSession().setAttribute("key_"+i,"value_"+i);    
  9. }  
  10. %>  
  11. <br />  
  12. <%=request.getSession().getAttribute("key_0")%>  
  13. <%=request.getSession().getAttribute("key_0")%>  
  14. <%=request.getSession().getAttribute("key_0")%>  
  15. <%=request.getSession().getAttribute("key_0")%>  
  16. <%=request.getSession().getAttribute("key_0")%>  
  17. <%=request.getSession().getAttribute("key_0")%>  
<%
for(int i=0;i<1000;i++){
   request.setAttribute("key_"+i,"value_"+i);	
}


for(int i=0;i<100;i++){
   request.getSession().setAttribute("key_"+i,"value_"+i);	
}
%>
<br />
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>

tomat 启动信息如下:

Java代码 复制代码
  1. 2008-5-6 17:54:52 org.apache.catalina.core.AprLifecycleListener init  
  2. 信息: Loaded APR based Apache Tomcat Native library 1.1.10.  
  3. 2008-5-6 17:54:52 org.apache.catalina.core.AprLifecycleListener init  
  4. 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r  
  5. andom [true].  
  6. 2008-5-6 17:54:52 org.apache.coyote.http11.Http11AprProtocol init  
  7. 信息: Initializing Coyote HTTP/1.1 on http-8080  
  8. 2008-5-6 17:54:52 org.apache.coyote.ajp.AjpAprProtocol init  
  9. 信息: Initializing Coyote AJP/1.3 on ajp-30008  
  10. 2008-5-6 17:54:52 org.apache.catalina.startup.Catalina load  
  11. 信息: Initialization processed in 973 ms  
  12. 2008-5-6 17:54:52 org.apache.catalina.core.StandardService start  
  13. 信息: Starting service Catalina  
  14. 2008-5-6 17:54:52 org.apache.catalina.core.StandardEngine start  
  15. 信息: Starting Servlet Engine: Apache Tomcat/6.0.16  
  16. 2008-5-6 17:54:52 org.apache.coyote.http11.Http11AprProtocol start  
  17. 信息: Starting Coyote HTTP/1.1 on http-8080  
  18. 2008-5-6 17:54:53 org.apache.coyote.ajp.AjpAprProtocol start  
  19. 信息: Starting Coyote AJP/1.3 on ajp-30008  
  20. 2008-5-6 17:54:53 org.apache.catalina.startup.Catalina start  
  21. 信息: Server startup in 310 ms  
2008-5-6 17:54:52 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.10.
2008-5-6 17:54:52 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r
andom [true].
2008-5-6 17:54:52 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2008-5-6 17:54:52 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-30008
2008-5-6 17:54:52 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 973 ms
2008-5-6 17:54:52 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-5-6 17:54:52 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.16
2008-5-6 17:54:52 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-5-6 17:54:53 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-30008
2008-5-6 17:54:53 org.apache.catalina.startup.Catalina start
信息: Server startup in 310 ms
 

-----------------------------------------------------------------------------------------

下面是测试结果:

 

tomcat + apache 测试结果:

Java代码 复制代码
  1. D:/Apache2.2/bin>ab -n 10000 -c 800 http://127.0.0.1/index.jsp  
  2.   
  3. Server Software:        Apache/2.2.4  
  4. Server Hostname:        127.0.0.1  
  5. Server Port:            80  
  6.   
  7. Document Path:          /index.jsp  
  8. Document Length:        41078 bytes  
  9.   
  10. Concurrency Level:      800  
  11. Time taken for tests:   34.46875 seconds  
  12. Complete requests:      10000  
  13. Failed requests:        0  
  14. Write errors:           0  
  15. Total transferred:      413090000 bytes  
  16. HTML transferred:       410780000 bytes  
  17. Requests per second:    293.71 [#/sec] (mean)  
  18. Time per request:       2723.750 [ms] (mean)  
  19. Time per request:       3.405 [ms] (mean, across all concurrent requests)  
  20. Transfer rate:          11848.61 [Kbytes/sec] received  
  21.   
  22. Connection Times (ms)  
  23.               min  mean[+/-sd] median   max  
  24. Connect:        0    0   1.8      0      15  
  25. Processing:    15 2034 3425.1    921   23265  
  26. Waiting:        0 2025 3423.8    921   23250  
  27. Total:         15 2034 3425.1    921   23265  
  28.   
  29. Percentage of the requests served within a certain time (ms)  
  30.   50%    921  
  31.   66%   1343  
  32.   75%   1656  
  33.   80%   1875  
  34.   90%   5078  
  35.   95%   9421  
  36.   98%  15828  
  37.   99%  18171  
  38.  100%  23265 (longest request)  
  39.   
  40. D:/Apache2.2/bin>ab -n 10000 -c 1000 http://127.0.0.1/index.jsp  
  41.   
  42. Server Software:        Apache/2.2.4  
  43. Server Hostname:        127.0.0.1  
  44. Server Port:            80  
  45.   
  46. Document Path:          /index.jsp  
  47. Document Length:        323 bytes  
  48.   
  49. Concurrency Level:      1000  
  50. Time taken for tests:   24.265625 seconds  
  51. Complete requests:      10000  
  52. Failed requests:        3953  
  53.    (Connect: 0, Length: 3953, Exceptions: 0)  
  54. Write errors:           0  
  55. Non-2xx responses:      8686  
  56. Total transferred:      58651479 bytes  
  57. HTML transferred:       56541921 bytes  
  58. Requests per second:    412.11 [#/sec] (mean)  
  59. Time per request:       2426.563 [ms] (mean)  
  60. Time per request:       2.427 [ms] (mean, across all concurrent requests)  
  61. Transfer rate:          2360.38 [Kbytes/sec] received  
  62.   
  63. Connection Times (ms)  
  64.               min  mean[+/-sd] median   max  
  65. Connect:        0    0   1.7      0      15  
  66. Processing:     0 1573 4416.4     31   23984  
  67. Waiting:        0 1563 4402.5     31   23984  
  68. Total:          0 1573 4416.5     31   23984  
  69.   
  70. Percentage of the requests served within a certain time (ms)  
  71.   50%     31  
  72.   66%     62  
  73.   75%     62  
  74.   80%     62  
  75.   90%   7031  
  76.   95%  13234  
  77.   98%  18218  
  78.   99%  19859  
  79.  100%  23984 (longest request)  
D:/Apache2.2/bin>ab -n 10000 -c 800 http://127.0.0.1/index.jsp

Server Software:        Apache/2.2.4
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /index.jsp
Document Length:        41078 bytes

Concurrency Level:      800
Time taken for tests:   34.46875 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      413090000 bytes
HTML transferred:       410780000 bytes
Requests per second:    293.71 [#/sec] (mean)
Time per request:       2723.750 [ms] (mean)
Time per request:       3.405 [ms] (mean, across all concurrent requests)
Transfer rate:          11848.61 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.8      0      15
Processing:    15 2034 3425.1    921   23265
Waiting:        0 2025 3423.8    921   23250
Total:         15 2034 3425.1    921   23265

Percentage of the requests served within a certain time (ms)
  50%    921
  66%   1343
  75%   1656
  80%   1875
  90%   5078
  95%   9421
  98%  15828
  99%  18171
 100%  23265 (longest request)

D:/Apache2.2/bin>ab -n 10000 -c 1000 http://127.0.0.1/index.jsp

Server Software:        Apache/2.2.4
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /index.jsp
Document Length:        323 bytes

Concurrency Level:      1000
Time taken for tests:   24.265625 seconds
Complete requests:      10000
Failed requests:        3953
   (Connect: 0, Length: 3953, Exceptions: 0)
Write errors:           0
Non-2xx responses:      8686
Total transferred:      58651479 bytes
HTML transferred:       56541921 bytes
Requests per second:    412.11 [#/sec] (mean)
Time per request:       2426.563 [ms] (mean)
Time per request:       2.427 [ms] (mean, across all concurrent requests)
Transfer rate:          2360.38 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.7      0      15
Processing:     0 1573 4416.4     31   23984
Waiting:        0 1563 4402.5     31   23984
Total:          0 1573 4416.5     31   23984

Percentage of the requests served within a certain time (ms)
  50%     31
  66%     62
  75%     62
  80%     62
  90%   7031
  95%  13234
  98%  18218
  99%  19859
 100%  23984 (longest request)

 tomcat 单独测试结果 (250并发会经常失败,200比较正常,偶尔有少量错误):

Java代码 复制代码
  1. D:/Apache2.2/bin>ab -n 1000 -c 250 http://127.0.0.1:8080/index.jsp  
  2. This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0  
  3. Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/  
  4. Copyright 2006 The Apache Software Foundation, http://www.apache.org/  
  5.   
  6. Benchmarking 127.0.0.1 (be patient)  
  7. Completed 100 requests  
  8. Send request failed!  
  9. Send request failed!  
  10. Send request failed!  
  11. Send request failed!  
  12. Send request failed!  
  13. Completed 200 requests  
  14. Send request failed!  
  15. apr_socket_recv: 远程主机强迫关闭了一个现有的连接。   (730054)  
  16. Total of 223 requests completed  
  17.   
  18. D:/Apache2.2/bin>ab -n 1000 -c 250 http://127.0.0.1:8080/index.jsp  
  19.   
  20. Server Software:        Apache-Coyote/1.1  
  21. Server Hostname:        127.0.0.1  
  22. Server Port:            8080  
  23.   
  24. Document Path:          /index.jsp  
  25. Document Length:        41078 bytes  
  26.   
  27. Concurrency Level:      250  
  28. Time taken for tests:   2.390625 seconds  
  29. Complete requests:      1000  
  30. Failed requests:        0  
  31. Write errors:           0  
  32. Total transferred:      41292000 bytes  
  33. HTML transferred:       41078000 bytes  
  34. Requests per second:    418.30 [#/sec] (mean)  
  35. Time per request:       597.656 [ms] (mean)  
  36. Time per request:       2.391 [ms] (mean, across all concurrent requests)  
  37. Transfer rate:          16867.56 [Kbytes/sec] received  
  38.   
  39. Connection Times (ms)  
  40.               min  mean[+/-sd] median   max  
  41. Connect:        0    0   1.9      0      15  
  42. Processing:   109  575 314.1    515    1218  
  43. Waiting:       62  550 315.0    453    1156  
  44. Total:        109  575 314.1    515    1218  
  45.   
  46. Percentage of the requests served within a certain time (ms)  
  47.   50%    515  
  48.   66%    609  
  49.   75%    921  
  50.   80%   1031  
  51.   90%   1062  
  52.   95%   1125  
  53.   98%   1140  
  54.   99%   1140  
  55.  100%   1218 (longest request)  
D:/Apache2.2/bin>ab -n 1000 -c 250 http://127.0.0.1:8080/index.jsp
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Send request failed!
Send request failed!
Send request failed!
Send request failed!
Send request failed!
Completed 200 requests
Send request failed!
apr_socket_recv: 远程主机强迫关闭了一个现有的连接。   (730054)
Total of 223 requests completed

D:/Apache2.2/bin>ab -n 1000 -c 250 http://127.0.0.1:8080/index.jsp

Server Software:        Apache-Coyote/1.1
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /index.jsp
Document Length:        41078 bytes

Concurrency Level:      250
Time taken for tests:   2.390625 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      41292000 bytes
HTML transferred:       41078000 bytes
Requests per second:    418.30 [#/sec] (mean)
Time per request:       597.656 [ms] (mean)
Time per request:       2.391 [ms] (mean, across all concurrent requests)
Transfer rate:          16867.56 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.9      0      15
Processing:   109  575 314.1    515    1218
Waiting:       62  550 315.0    453    1156
Total:        109  575 314.1    515    1218

Percentage of the requests served within a certain time (ms)
  50%    515
  66%    609
  75%    921
  80%   1031
  90%   1062
  95%   1125
  98%   1140
  99%   1140
 100%   1218 (longest request)
 

单独测试tomcat基本上只能达到240+左右的并发,tomcat+apache 900+并发,如果是静态页面tomcat并发1000+没有任何问题。

tomcat基本上都保持在 20% - 45% 之间 , 内存在 80M -- 600M +之间 ,根据并发和请求的大小,内存的变法比较明显,cpu基本保存在这里,apache占用的cpu基本上是在 15% - 40%。

因为JRockit收费,所以就没有测试。(主要是真实部署的时候会采用这些配置,收费的公司目前也不会购买!^_^)

 

不知道大家如何配置tomcat能并发1000左右 ????????



robbin回复如下:



我在JavaEye的数据库服务器上面简单测试了一把,没有做任何优化的工作,用ab测试,并发1000个请求很轻松,一点问题都没有。

系统配置:
CPU: AMD Opteron 2GHz × 2
内存: 4G RAM (其中MySQL使用了2G)
OS: SuSE Linux Enterprise Server SP3 x86_64 bit, Kernel 2.6.5
JDK: Sun HotSpot 1.5.0-10 x86_64 bit
Tomcat: 5.5.12 (APR)

Tomcat配置:

server.xml

Xml代码 复制代码
  1.   <Connector port="8080" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"  
  2.                maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"  
  3.                enableLookups="false" redirectPort="8443" acceptCount="100"  
  4.                compression="on" compressionMinSize="2048"   
  5. compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  6.                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>  


catalina.sh这个文件啥都没有改,懒得指定JVM参数进行优化了。

测试文件就用你贴出来的那个,用ab并发1000个请求,发送10000个请求,轻轻松松跑完测试,没有一个request fail。

我特别需要声明的是,这台服务器的CPU是很古老的型号了,而且上面还跑着异常繁忙的JavaEye后台数据库。因此在这台服务器上面做测试,性 能数据受到影响是可以预见的。而且我没有对JVM参数做任何优化,也没有对Tomcat进行任何特别的优化。即便如此,轻松的支撑1000个并发,这还是 直接用ab去压tomcat,没有走lighttpd。我另外也测试了一下走lighttpd,速度稍微慢一点,但是1000并发也毫无问题。

Tomcat启动信息:
Java代码 复制代码
  1. May 62008 10:16:15 PM org.apache.coyote.http11.Http11AprProtocol init  
  2. INFO: Initializing Coyote HTTP/1.1 on http-8080  
  3. May 62008 10:16:16 PM org.apache.catalina.startup.Catalina load  
  4. INFO: Initialization processed in 1375 ms  
  5. May 62008 10:16:16 PM org.apache.catalina.core.StandardService start  
  6. INFO: Starting service Catalina  
  7. May 62008 10:16:16 PM org.apache.catalina.core.StandardEngine start  
  8. INFO: Starting Servlet Engine: Apache Tomcat/5.5.12  
  9. May 62008 10:16:16 PM org.apache.catalina.core.StandardHost start  
  10. INFO: XML validation disabled  
  11. May 62008 10:16:16 PM org.apache.catalina.core.StandardHost start  
  12. INFO: XML validation disabled  
  13. May 62008 10:16:22 PM org.apache.coyote.http11.Http11AprProtocol start  
  14. INFO: Starting Coyote HTTP/1.1 on http-8080  
  15. May 62008 10:16:22 PM org.apache.catalina.storeconfig.StoreLoader load  
  16. INFO: Find registry server-registry.xml at classpath resource  
  17. May 62008 10:16:22 PM org.apache.catalina.startup.Catalina start  
  18. INFO: Server startup in 6944 ms  
May 6, 2008 10:16:15 PM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 6, 2008 10:16:16 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1375 ms
May 6, 2008 10:16:16 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 6, 2008 10:16:16 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.12
May 6, 2008 10:16:16 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
May 6, 2008 10:16:16 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
May 6, 2008 10:16:22 PM org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 6, 2008 10:16:22 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
May 6, 2008 10:16:22 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6944 ms


Java代码 复制代码
  1. apache/bin/ab  -c 1000 -n 10000 http://cvs.javaeye.com:8080/test.jsp   
  2. This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0  
  3. Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/  
  4. Copyright 2006 The Apache Software Foundation, http://www.apache.org/  
  5.   
  6. Benchmarking cvs.javaeye.com (be patient)  
  7. Completed 1000 requests  
  8. Completed 2000 requests  
  9. Completed 3000 requests  
  10. Completed 4000 requests  
  11. Completed 5000 requests  
  12. Completed 6000 requests  
  13. Completed 7000 requests  
  14. Completed 8000 requests  
  15. Completed 9000 requests  
  16. Finished 10000 requests  
  17.   
  18.   
  19. Server Software:        Apache-Coyote/1.1  
  20. Server Hostname:        cvs.javaeye.com  
  21. Server Port:            8080  
  22.   
  23. Document Path:          /test.jsp  
  24. Document Length:        79 bytes  
  25.   
  26. Concurrency Level:      1000  
  27. Time taken for tests:   15.329142 seconds  
  28. Complete requests:      10000  
  29. Failed requests:        0  
  30. Write errors:           0  
  31. Total transferred:      3100000 bytes  
  32. HTML transferred:       790000 bytes  
  33. Requests per second:    652.35 [#/sec] (mean)  
  34. Time per request:       1532.914 [ms] (mean)  
  35. Time per request:       1.533 [ms] (mean, across all concurrent requests)  
  36. Transfer rate:          197.47 [Kbytes/sec] received  
  37.   
  38. Connection Times (ms)  
  39.               min  mean[+/-sd] median   max  
  40. Connect:        0  343 1293.1      1    9046  
  41. Processing:     1  514 1416.6     83    7206  
  42. Waiting:        0  509 1416.8     79    7206  
  43. Total:          1  857 2012.5     89    9608  
  44.   
  45. Percentage of the requests served within a certain time (ms)  
  46.   50%     89  
  47.   66%    147  
  48.   75%    212  
  49.   80%    326  
  50.   90%   3124  
  51.   95%   6078  
  52.   98%   8935  
  53.   99%   9049  
  54.  100%   9608 (longest request) 
补充两句:

你用apache可以支撑到900+不意味着apache可以帮你提升tomcat的并发能力,而是因为 apache默认情况下最大只支持256 个并发,你超过256个并发以后,在apache这一端都要排队,无形之中降低了你tomcat的并发负载的压力。特别是看你的测试数据,使用 apache以后,Requests per second从597ms一下上升到2.7秒就是明证,请求都被阻塞在apache那里排队去了。

我还没有升级到最新版本的JDK和最新版本的Tomcat,否则我估计我的测试性能还应该有更好的提升。另外我这硬件条件远不如你的测试硬件环 境。所以你的测试环境没有道理不应该支持1000个并发,而且应该是异常轻松。其实从你250个并发的测试来看,虽然request fail了一些,但是Requests per second并不高,这不是一个正常的现象。我觉得可能是你的Tomcat配置有问题,或者是Windows操作系统的线程调度性能不佳导致的。
 

楼主用的cpu 貌似32位的,操作系统 是windows
robbin用的cpu 貌似64位的,操作系统 是linux.

java在linux及64位下可以发挥的非常好。

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值