我有一个Spring Boot 1.2.7.RELEASE Web应用程序(与Tomcatembedded式),需要处理一个非常高的负载峰值,在一个服务器上4到5分钟〜10K连接(实际上是一个服务器集群,但这是加载一个节点就会看到)。 它真的很慢。 如果我在10秒内用JMeter打了1000个线程,但是只需要一个简单的GET请求,Thymeleaflogin页面 – 没有别的 – 平均响应速度将很快超过13秒。 该页面只是使用Thymeleaf的loginforms。 这是运行在具有RHEL7,32GB RAM(JVM堆设置为使用28GB)和4个CPU核心的虚拟机上。 这里有很多的马力,但我正努力让它在负载下作出反应。 作为一个testing,为了减less套接字和线程的数量,我在页面中注释了两个链接: <HEAD> <!– Other meta stuff omitted –> <!– I commented out these next two lines –> <link rel="stylesheet" href="css/index.css"/> <link href="css/gridset.css" rel="stylesheet"/> </HEAD> 当我这样做的完全相同的负载testing,它产生了277ms的平均响应! 如果我放回去,速度慢。 所以毫不夸张地说,同样的testing的响应时间从13秒到不到0.3秒。 我试图把CSS内联,但spring抛出各种错误试图parsing它。 W3Cvalidation器显示这两个文件包含许多错误。 有人正在努力纠正错误的CSS,但我想知道什么是慢的原因是。 这是事实上,CSS是坏了,还是事实上,它是从静态地区的Tomcat服务? 我将不会有有效的CSS来重新testing几天,我正在做这个工作的枪。 我用萤火虫打了它,单个login页面在437毫秒加载。 第一个index.css文件加载158ms,gridset.css文件53ms。 然后有3张图片总共需要205ms,图片总大小为19kb。 我将在下面发布一个线程转储。 这是由New Relic产生的。 我发现一些关于Tomcat服务静态内容缓慢的信息,但是我无法想象它会如此缓慢,而其他人则说最近的Tomcat版本和httpd一样。 我主要是一个开发人员,所以在解决这个问题上的任何帮助都非常感谢,谢谢! 75% […]
我在Centos 6操作系统上使用了带有1 GB RAM的Apache Tomcat 8.0.23。 我已经使用Servlet和JSP服务器端。 但几天之后它会自动closures。 我在bin / CATALINA_OPTS="-Xms128M -Xmx256M"给出的内存大小为CATALINA_OPTS="-Xms128M -Xmx256M" 。 有人可以告诉我为什么我的服务器closures? 我不太熟悉Tomcat和Linux。 我也试着在var/log和apache-Tomcat/logs上看到日志文件。 但是我没有发现任何可疑的事情。 1 GB的RAM足够我的服务器? 我的android应用程序运行在大约5000个设备上。 有什么build议么 ? 编辑: 07-Aug-2015 03:58:03.199 INFO [Finalizer] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [java.net.BindException]. The following stack trace is thrown for debugging purposes as well as […]
我们有一个遗留的Web应用程序,运行在Java 6下的tomcat中 – 升级到7或8目前是不可行的。 我们现在需要通过TLS 1.2连接客户端,但是java 6只支持1.0。 我们使用Apache作为我们的Web服务器和OpenSSL的传入连接,这很高兴地支持TLS 1.2等 您之前是否遇到过类似的情况,或者您可以对以下潜在的解决方法发表评论: 回送到本地主机(或以其他方式redirect)并使用OpenSSL创buildTLS 1.2连接, 有效的内部代理 可以打开一个客户端吗? 我们需要s_client吗? 使用我们当前的防火墙来升级连接 这需要有select性 很明显,这将取决于防火墙 使用“充气城堡”( https://www.bouncycastle.org/ )
我已经在RHEL6上运行Tomcat7,使用整个容器的x509证书进行相互validation。 从浏览器中的用户angular度来看,一切似乎certificate挑战的罚款。 这是在一个代理内部网。 我的目标是将用户x509证书写出到AccessLogValve日志中。 在这篇文章之后,我修改了AccessLogValve模式(在server.xml中),包括: %{javax.servlet.request.X509Certificate}r 然而,写入日志的是这样的string: [Ljava.security.cert.X509Certicate;@4737f9e8 我担心的是与cert相关的头文件将被删除,所以我还启用了web.xml中的RequestDumperFilter来查找头文件中的线索。 在那些日志中,除了可能的情况外,我没有看到任何证书相关的东西 remoteUser=null isSecure=true ============= authType=null
所以我们有一个AWS ELB背后的tomcat服务器。 除非我们手动input这个地址, 否则一切工作都正常, https://example.com/web/这工作正常… https://example.com/web这redirect到http 奇怪的是每个其他地址redirect到https就好了。 这只是不工作的根。 我确定我没有发布信息来解决问题,但是如果有人能够至less指出我的观点。 在堆栈中没有apache httpd,所以没有.htaccess文件或mod_rewirte正在进行。 我认为它是ELB,但是其他一切都是redirect的,我不确定。
我有一个运行在127.0.0.1:8090的Jenkins服务器和客户端浏览器之间的apache服务器。 我在浏览器中提供了http://123.45.67.89/jenkins ,期望Jenkins被redirect到http://123.45.67.89/jenkins/login页面,但是我被redirect到了http://123.45.67.89/login页面。 在Apache的httpd.conf我试着给ProxyPass和ProxyPassReverse LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_module modules/mod_proxy.so ProxyPass /jenkins http://127.0.0.1:8090/ ProxyPassReverse /jenkins http://127.0.0.1:8090/ 根据我对ProxyPassReserve理解,它将使用/jenkins/login重写响应头,以便当浏览器再次发送redirect的请求时,它将是http://127.0.0.1:8090/jenkins/login 不知道我的理解是正确的,还是有我缺less的东西?
我们正在使用mod_jk和apache来平衡我们的tomcat服务器。 我们想知道什么是与亚马逊AWS负载平衡器的经验和比较。
我有以下issus: 在我的web应用程序中,其中一个jar必须位于tomcat5.5 $ CLASSPATH中,而不是像WEBAPP / lib中的其他。 我把它放在tomcatdir / server / lib中。 (然后在tomcatdir / common / lib中)。 没有成功。 如果jar没有被系统加载器(java)加载,我不能使用jar提供的所有function。 使用“smb”types的scheme准确地定位一个types为URL的variables。 事实上,我试图做到以下几点: http://jcifs.samba.org/src/docs/faq.html#ukproto 任何人都有同样的问题? 在tomcat有更多的经验? 谢谢 安托万
我在Tomcat应用程序服务器上遇到了一些问题。 在我能够解决Java应用程序的问题之前,我需要想出一个cron shell脚本来重新启动服务器。 我认为这将是一个简单的努力,但其中一个复杂的是,根本原因使得Tomcat在执行./shutdown.sh之后不能干净地closures。 当我运行ps auwwx |时,这个过程仍然是打开的 grep java | grep org.apache.catalina.startup.Bootstrap 我杀死了这个进程(是的,这很糟糕,但事情确实发生了 – 至今;)),我可以正确地重新启动服务器。 我不是一个shell脚本专家(或新手),我需要一些帮助“轮询”一段时间,直到上面的ps命令返回null。 投票后,我会杀死,然后重新启动。
我在我的服务器上的以下位置上运行Tomcat上的Web应用程序。 在/ var / tomcat的/ webapps /目录SoccerApp 我正在寻找更新Tomcat httpd.conf文件与以下虚拟主机… <VirtualHost *:80> DocumentRoot /var/tomcat/webapps/SoccerApp/MyTeam ServerName www.mysoccerapp.com </VirtualHost> 这给我一个404错误,因为目录MyTeam不存在。 但是,我的应用程序的行为方式是使用此URL目录作为显示数据的足球队的名称,因此它永远不会成为服务器上的物理文件夹。 无论如何,我想要www.mysoccerapp.com解决到webapps / SoccerApp / MyTeam,即使目录不存在。 这有意义吗? 任何想法如何得到这个工作。 在一天结束的时候,我想要做以下事情… www.teamone.com -> runs /webapps/SoccerApp/TeamOne www.teamone.com -> runs /webapps/SoccerApp/TeamTwo TeamOne和TeamTwo不是物理目录,而是仅由我的SoccerApp应用程序作为当前足球队进行处理以显示数据。 非常感谢! 戴夫。