首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在生产环境中运行Tomcat [已关闭]

问在生产环境中运行Tomcat [已关闭]
EN

Stack Overflow用户
提问于 2010-11-15 16:48:01
回答 3查看 17.6K关注 0票数 15

关门了。这个问题不符合堆栈溢出指南..。它目前不接受答案。

想要改进这个问题吗?更新问题,使其成为主题堆栈溢出。

七年前就关门了。

改进这个问题

我目前正在使用Tomcat6作为开发和生产的Web容器。

我听说Tomcat在生产环境中不是性能最好的Web容器。这是真的吗?

Tomcat在性能和内存管理方面是否足以在生产环境中使用?

我们的系统大约有100到400个用户。

对我来说,更多的是关于Web-App是如何编写的,以及Web-App内部的操作类型。

即使在一个Tomcat实例上存在性能问题,

可以集群Tomcat吗?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-24 13:58:14

我目前正在使用Tomcat6作为开发和生产的Web容器。

我听说Tomcat在生产环境中不是性能最好的Web容器。这是真的吗?

好吧,这还得看你怎么看。Tomcat可以表现得非常好,在生产中到处使用,拥有最大的用户基础。一些商业应用服务器在幕后使用Tomcat,甚至没有告诉你。

当然,您不应该将Tomcat的开箱即用性能与经过良好调优的web容器进行比较。Tomcat可以进行调优,以获得比开箱即用状态更好的性能。你可以谷歌一下:"tomcat production“,看看人们在实际生产中是如何管理它的,并得到很多建议、提示等。

Tomcat在性能和内存管理方面是否足以在生产环境中使用?

是的,是这样的。当您需要更多时,有许多供应商提供了Tomcat的商业版本,包括监视和检测,以帮助在生产中维护您的应用程序。

我们的系统大约有100到400个用户。

Tomcat当然可以处理更多的事情。根据您的应用程序/系统的性质,您可能需要多个Tomcat实例。在实际生产环境中,明智的做法是将Tomcat集群。

对我来说,更多的是关于Web-App是如何编写的,以及Web-App内部的操作类型。

半真半假。

我相信好的架构和框架也会在你准备集群Tomcat时为你节省大量的时间。因此,在决定如何放置框架堆栈之前,您需要了解web容器应用程序如何工作,框架如何在集群环境中处理事物,以及它们是如何集群的。

例如,可能会出现以下问题:

  • 在多个JVM实例中的内存缓存中
  • 会话存储(内存、数据库、文件存储)及其复制

对Tomcat进行集群并不是一项微不足道的任务,不恰当地放置框架会使以后很难整合集群Tomcat。

即使在一个Tomcat实例上存在性能问题,是否可以对Tomcat进行集群?

是的,可以集群Tomcat。您设计应用程序的方式决定了您的应用程序是可以轻松地进行集群,还是会更加复杂地进行集群。这个问题可能不是Tomcat所特有的,而是一般的应用服务器所特有的。

您可能需要考虑一些问题:

  • 您在(HTTP)会话中存储的数据
  • 存储会话的位置
  • 保持活动会话
  • 使用web服务器应用程序负载平衡反向代理,例如Apache Web server +模式_代理/模式_jk、nginx、Varnish
  • 使用哪些Tomcat连接器(阻塞IO、NIO、APR)

还有一些其他的问题,但我认为这些是你可以开始的。

票数 15
EN

Stack Overflow用户

发布于 2011-03-04 03:18:09

100-400个用户是一个相对较小的部署。我帮助客户部署具有更大注册用户数(数百万)或并发用户的Tomcat解决方案。我甚至不认为您的部署需要集群。

集群Tomcat服务器非常简单。在Tomcat服务器前面放置一个负载均衡器。配置具有会话粘性的负载均衡器。您将拥有一个非常好的Tomcat集群。一些客户端希望在一个Tomcat实例失败的情况下进行会话故障转移,并且用户可以自动路由到第二个实例,而不会丢失会话数据。我认为这对你的部署来说有点过头了。在现实中,由定期维护引起的停机时间将远远高于系统故障。我让Tomcat服务器运行了几个月,只需要在主要代码发布时停下来。但在需要的情况下,有支持会话集群的开源包。

说到这一点,大多数J2EE应用程序的性能问题都源于应用程序本身,而不是Tomcat服务器。以下是

最常见的J2EE应用程序性能问题

这是我在解决客户端系统性能问题时遇到的最多问题。希望这能有所帮助。

票数 7
EN

Stack Overflow用户

发布于 2010-11-15 16:52:12

你是对的,首先考虑功能,然后再考虑性能。即使只有一个Tomcat实例也能很好地服务于这个数量的用户。还有,是的,

Tomcat集群是可能的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4182716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档