gpt4 book ai didi

java - 如何排除 Tomcat 8 上的连接性能故障?

转载 作者:行者123 更新时间:2023-11-28 22:25:01 26 4
gpt4 key购买 nike

我刚刚安装了一台新服务器(Xeon E5-2630 v4、256GB RAM、Ubuntu 18、Tomcat 8、Java 8)来替换目前已有 4 年历史的服务器(i5-2400、8GB RAM、Ubuntu 14、Tomcat 7,Java 7)并且在测试期间发现在一个大型测试页面上,新服务器比旧服务器慢 10 倍以上。稍后进行一些挖掘,在我的开发机器(Java 8)上运行 Tomcat 8(与 apt-get 一起安装)也是这种情况,但在运行 Spring Tool Suite 捆绑的 tc 服务器(也基于 Tomcat8!)时不是这样。

示例页面上的测试结果。所有 4 个实例上的相同 spring 应用程序 war 文件。在本地运行,应用程序在 Controller 中记录页面生成时间,这在所有 4 个上大致相同,因此问题一定出在 jsp 生成中或(很可能是 imo)在连接中:

time wget http://localhost:8080/proteus/testpage 
  • 旧服务器:4,643,048 字节 5.88M/s,0.8s
  • 新服务器:16s
  • 4.43M 276KB/s
  • 开发机 tcServer(基于 Tomcat8):4.43M 4.24MB/s,1.0s
  • 开发机 Tomcat 8:4.43M 318KB/秒,14 秒

对于同一台机器上的如此大的差异,我一定在连接设置/配置中遗漏了一些非常基本的东西,但我在过去两天的大部分时间里都在进行故障排除,但没有取得任何进展。

如果有人对要查看的内容有任何建议,我将不胜感激。在开发机器上工作似乎最简单,所以我从那里附加了一些信息。

问候。


堆在 tcServer 上设置为 -Xmx768m,在 Tomcat 8 上设置为 -Xmx2048m。

tcServer 版本信息:

Using CATALINA_BASE:   /home/mjames/sts-bundle/pivotal-tc-server-developer-3.1.5.RELEASE/tomcat-8.0.36.A.RELEASE
Using CATALINA_HOME: /home/mjames/sts-bundle/pivotal-tc-server-developer-3.1.5.RELEASE/tomcat-8.0.36.A.RELEASE
Using CATALINA_TMPDIR: /home/mjames/sts-bundle/pivotal-tc-server-developer-3.1.5.RELEASE/tomcat-8.0.36.A.RELEASE/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/mjames/sts-bundle/pivotal-tc-server-developer-3.1.5.RELEASE/tomcat-8.0.36.A.RELEASE/bin/bootstrap.jar:/home/mjames/sts-bundle/pivotal-tc-server-developer-3.1.5.RELEASE/tomcat-8.0.36.A.RELEASE/bin/tomcat-juli.jar
Server version: Pivotal tc Runtime 3.1.5.RELEASE/8.0.36.A.RELEASE
Server built: Jun 29 2016 20:36:49 UTC
Server number: 8.0.36.0
OS Name: Linux
OS Version: 4.4.0-116-generic
Architecture: amd64
JVM Version: 1.8.0_162-8u162-b12-0ubuntu0.16.04.2-b12
JVM Vendor: Oracle Corporation

tomcat 8 版本信息:

Using CATALINA_BASE:   /usr/share/tomcat8
Using CATALINA_HOME: /usr/share/tomcat8
Using CATALINA_TMPDIR: /usr/share/tomcat8/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.0.32 (Ubuntu)
Server built: Sep 27 2017 21:23:18 UTC
Server number: 8.0.32.0
OS Name: Linux
OS Version: 4.4.0-116-generic
Architecture: amd64
JVM Version: 1.8.0_162-8u162-b12-0ubuntu0.16.04.2-b12
JVM Vendor: Oracle Corporation

来自 server.xml 的连接器(两者相同,将它们简化为基础)

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"  
URIEncoding="UTF-8" redirectPort="8443" />

最佳答案

检查默认值

Tomcattc Server 打包为不同的产品:

  • Tomcat 是非常通用且高度可配置的 servlet 容器。

  • tc Server 是一个更全面、更适合生产的 Tomcat 兼容应用程序服务器。

请在此处查看 more extensive comparison of the 2 servers .

因此,它们的默认值不同。 Tomcat 默认被配置为一个更小的东西,而 tc Server 默认做了更大胆的假设。

参见 Tomcat's default propertiestc Server default ones (并且在由可用选项数量引起的眩晕消退之后)例如,tomcat200 作为最大线程数,而 tc server 使用300

如您所想,有许多设置会影响您的测试页的性能

关于java - 如何排除 Tomcat 8 上的连接性能故障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com