我有Apache的tomcat web服務器,在這裏我運行3-4 java spring和hibernate應用程序。但問題是當服務器請求過多時,服務器會發出內存不足或堆大小錯誤,並且最終由於服務器沒有響應而導致站點停止運行。還有一段時間會出現連接斷開或套接字錯誤等錯誤。我希望我的服務器至少可以處理2000個請求。如何處理負載和配置的tomcat 7服務器和應用程序,所以它能夠處理超過2000的請求
直到現在我實現了很多方法來處理這個問題。在setenv.sh文件大小的改變服務器的
- 增加堆大小
CATALINA_OPTS =「$ CATALINA_OPTS -Dfile.encoding = UTF8 -Djava.net.preferIPv4Stack =真-Dorg.apache .catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES =假-Duser.timezone = GMT -Xmx1024m -XX:MaxPermSize參數=1024米」
- 我已經改變的server.xml來處理更多的連接
另外我是在我們的項目中使用c3p0連接池
org.hibernate.connection.C3P0ConnectionProvider select 1;
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> <property name="hibernate.connection.username">xxx</property> <property name="hibernate.connection.password">xxx</property> <property name="hibernate.connection.pool_size">1000</property> <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property> <property name="javax.persistence.validation.mode">none</property>
acceptCount = 「1000」 「接通」 compressionMinSize = 「2048」 noCompressionUserAgents =「GoZilla等MAXCONNECTIONS = 」1500「 redirectPort = 」8443「 的URIEncoding = 」UTF-8「 壓縮= ,茶花女」 compressableMimeType = 「text/html的,文本/ XML,文本/無格式,應用/ JavaScript的,文本/ JavaScript的,文本/ CSS」/>
但我的服務器不能夠同時處理500多個請求。 我的服務器配置
窗口服務器2012 R2數據中心 拉姆 - 64 GB 系統類型,64位
任何想法我如何妥善管理所有的事情,我需要在我的tomcat是什麼類型的變化服務器或應用。這樣我的網站就能夠處理2000個請求。
如果你有64GB的Ram,你爲什麼給tomcat只有1GB? (-Xmx1024m)? –