Java Tomcat 7性能问题(WIN 7 x64)

Java Tomcat 7性能问题(WIN 7 x64),java,mysql,performance,apache,tomcat,Java,Mysql,Performance,Apache,Tomcat,我让ApacheTomcat7在Win7x64上运行(使用jdk_1.8.),运行与MYSQL数据库相关的web应用程序。当需要请求的设备(TCP/IP)的大小增加时——一些设备没有及时响应——Apache开始出现性能问题。我已经读到,改变数据库的设置其实并不重要,尽管它已经准备好处理大型项目。所以假设这不是数据库故障,我仍然有tomcat设置的问题。 在server.xml(~\apache\conf\server.xml)中,我有以下设置: <Connector executor="t

我让ApacheTomcat7在Win7x64上运行(使用jdk_1.8.),运行与MYSQL数据库相关的web应用程序。当需要请求的设备(TCP/IP)的大小增加时——一些设备没有及时响应——Apache开始出现性能问题。我已经读到,改变数据库的设置其实并不重要,尽管它已经准备好处理大型项目。所以假设这不是数据库故障,我仍然有tomcat设置的问题。 在server.xml(~\apache\conf\server.xml)中,我有以下设置:

<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" 
           maxThreads="1000" minSpareThreads="100"
           connectionTimeout="20000" 
           acceptCount="500"
           redirectPort="8443"
           compression="on"  
           compressionMinSize="2048"  
           noCompressionUserAgents="gozilla, traviata"  
           compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript"
           />

Java JRE设置: -Xms8192m-Xms16384-Xss512k

在Tomcat中,我有以下设置:

ApacheTomcat7的打印屏幕生成许多异常和警告,因为池大小仍然很小,一些请求必须被拒绝

我的问题是,如果我的机器专用于只运行此服务器,并且我有32GB的缓存、处理器Intel Core i7-4930K 3.30 GHz和SSD磁盘来提高Tomcat的性能,那么如何设置这些设置(在server.xml和Apache Tomcat属性中)


如果你需要更多的信息来回答我的问题,不要害怕问

接受现实:Windows并不是提供Web应用的最佳操作系统。恰恰相反。文件系统非常糟糕(NTFS和REF都比未调优的ext4或xfs慢20%左右)。然后,您将为GUI设置RAM开销。疯狂的内存管理基于这样一种理念:未使用的RAM就是好的RAM(因为进程将来可能会请求一些),因此它会主动分页,以尽可能多地保持物理RAM空闲

acceptcount值也没有意义:将大量请求放入队列无助于提高性能。它只是隐藏了实际的问题。将其设置为一个较低的值,因为这只意味着为峰值提供一个较小的缓冲区。另外,它会消耗执行任务的进程的RAM

Maxthreads意味着最多可以打开1k个连接到您的数据库。我想这就是瓶颈。另外:如果您有1k个并发用户,这意味着每个用户只有16MB的RAM可用(是的,粗略计算,但这一点很明显)。根据您的应用程序,并发用户可能需要更多。我见过RAM/并发用户超过200MB的应用程序

总而言之,我想说的是,你既要扩大规模,也要缩小规模


完全有偏见的注:如果机器是专用的,请使用GNU/Linux或Unix。

亲爱的马克,问题是我的PLC软件只在WIN上运行,因此无法在Linux上交换操作系统(尽管我在管理此类平台方面有中等经验)。所以在这种情况下,改变应用程序的整体结构是无法应用的。不管你是在Windows还是Linux上运行Tomcat,调整我提到的值都没有任何关系。