我是网络开发的新手。 如果这是一个非常基本的问题,我很抱歉。 例如,我创建一个Web应用程序并将其部署到tomcat。 现在,当多个用户访问Web应用程序时,tomcat是否为每个用户创建了一个新线程? 如果是这种情况,那么我仍然可以在我的应用程序本身中创建线程并期望它保持在tomcat创建的每个用户线程的本地吗? 会话级数据是否在线程间保持同步? 我希望我的问题有道理。
我试着寻找文档,但它很稀疏。 我写了以下指南,希望它可以节省2-3个小时处理安装,设置和配置。 与MySQL全文搜索标准设置相比,使用Solr的性能提升非常惊人。 绝对值得花时间在Magento安装中使用它。
这是我的context.xml文件: … … 我已经尝试使用ServletContext.getResource(java.lang.String)和资源名称(“jdbc / MyDatasource”),但Tomcat抱怨该名称不以’/’开头。 我也试过“/ jdbc / MyDatasource”,但这次它返回null。 我主要需要jdbcUrl与数据库服务器进行连接检查 (查看服务器是否在线且可操作)。
我有一个在Tomcat 7上运行的Java Web应用程序似乎有内存泄漏。 在负载下(使用JConsole确定),应用程序的平均内存使用量随时间线性增加。 在内存使用率达到稳定水平后,性能会显着下降。 响应时间从~100ms到[300ms,2500ms],因此这实际上导致了实际问题。 我的应用程序的JConsole内存配置文件: 使用VisualVM,我看到字符数组(即char [])使用的内存至少有一半,并且字符串的大多数(大致相同数量,300,000个实例)是以下之一:“分配失败” ,“复制”,“次要GC的结束”,所有这些似乎都与垃圾收集通知有关。 据我所知,该应用程序根本不监视垃圾收集器。 VisualVM找不到任何这些字符串的GC根,所以我很难跟踪它。 内存分析器堆转储: 我无法解释为什么内存使用情况会如此,但我有一个关于为什么性能一旦降低就会降级的理论。 如果内存碎片化,应用程序可能需要很长时间才能分配连续的内存块来处理新请求。 将其与内置的Tomcat服务器状态应用程序进行比较,内存会增加并保持稳定,但不会像我的应用程序那样达到很高的“底限”。 它也没有大量无法访问的char []。 Tomcat服务器状态应用程序的JConsole内存配置文件: Tomcat服务器状态applicationp的内存分析器堆转储: 这些字符串可以在哪里分配,为什么它们不被垃圾收集? 是否存在可能影响此问题的Tomcat或Java设置? 是否有特定的包可能会影响这个?
我正在尝试创建一个能够与Amazon RDS通信的Web项目。 我知道如何使用JDBC连接到RDS的localhost项目。 但是,问题是我从未尝试过部署我的项目(例如,有人可以输入somePage.com ,然后转到我的网页)。 我有一个Amazon EC2实例 ,我已经编写了一个简单的hello world jsp页面。 我能够使用已安装的Apache Tomcat Server编译它并运行Eclipse Web Dynamic Project ,然后键入localhost:8080/somePage然后我可以看到我的hello world弹出。 但是,如何在此EC2实例上部署项目? 我正在使用Windows Server 2012版。 我的整个想法是,一旦我有一个AMI图像全部设置,那么我可以使用自动缩放来扩展我的网页与该AMI图像。 谁能指出我正确的方向?
我知道这不是“最佳实践”,但我想知道如果我部署的应用程序抛出一个outofmemoryexception我是否可以自动重启tomcat
我尝试在VPS上测试一些东西,并且每秒接近10K请求,这是一个simple ‘hello world’ servlet ,更不用说调用membase了。 我的VPS是2 x Intel Xeon X5570,四核“Nehalem”架构。 注意:我不是java专家,也不是tomcat专家,这是默认设置。 有没有其他人可以处理如此高流量的问题? 我使用了apache bench,我运行了大概4-5次,向服务器做了大约100K的请求。 原创: 如何在tomcat上处理2000多个请求/秒?
我按照以下步骤操作 关闭Tomcat 部署了一个时间戳为12月1日的war文件 启动Tomcat – 这为已部署的war文件创建了展开的目录。 停止Tomcat 使用时间戳为12月3日的新文件更新了war文件 重启Tomcat 我发现当我重新启动Tomcat时,先前扩展的文件夹中的现有文件未更新。 war文件的更新是否已更新相关的jsp,类文件? 我查看了文档,发现了这个http://tomcat.apache.org/tomcat-5.5-doc/config/host.html 。 “自动应用程序部署”下的以下引用 除了在启动时发生的自动部署,您还可以请求放入appBase的新XML配置文件,WAR文件或子目录(或 根据上述规则,在Tomcat运行时,将自动部署$ CATALINA_HOME / conf / [engine_name] / [host_name](如果是XML配置文件)目录。 自动部署程序还将跟踪Web应用程序以进行以下更改: 对WEB-INF / web.xml文件的更新将触发Web应用程序的重新加载 对已扩展的WAR的更新将触发取消部署(删除扩展的webapp),然后部署 对XML配置文件的更新将触发取消部署(不删除任何扩展目录),然后部署关联的Web应用程序 由于上面的第2点,文件是否已自动更新? autodeploy在server.xml中设置为true
我必须测试一个由spring和jsp编写的Web应用程序。 应用程序的默认会话超时为30分钟。 我想减少会话超时。 为此,我在tomcatInstallationLocation/conf/中的web.xml文件中进行了tomcatInstallationLocation/conf/ 。 但它不起作用。 tomcatInstallationLocation/conf/web.xml的默认配置是 – 30 我刚刚改变时间并做到了 – 5 但仍然不起作用。 据我所知,在这种情况下,我必须在spring应用程序的web.xml进行更改。 但我不确定。 谁能帮我? 提前致谢。
我想有一个很好的理由,但我不明白为什么有时我们会在相同的物理服务器上放置5个具有相同web应用程序的实例。 它与多处理器架构的优化有关吗? JVM或其他什么允许的最大ram限制?