Ubuntu安裝配置記5(TOMCAT6 ,APACHE2優化,常見問題處理)

TOMCAT6 ,APACHE2優化,常見問題處理

Tomcat優化:

部分優化:

1.默認是1024,修改爲65535。

$ sudo vi/etc/security/limits.conf

加入下面兩行:

*   soft    nofile 65535

*    hard    nofile 65536

重啓服務器後,

$ ulimit -n

65535

2、tomcat的JAVA_OPTS設置,如果是32位操作系統,最大值也就能設到1G,在64位操作系統下,可以設置到很大。

在tomcat/bin/catalina.sh中加入一行:

JAVA_OPTS="-Xms2g-Xmx4g -XX:PermSize=1g -XX:MaxPermSize=2g"

3、tomcat的設置。

<Executorname="tomcatThreadPool" namePrefix="catalina-exec-"

maxThreads="512" minSpareThreads="50"/>

<Connectorport="80" protocol="HTTP/1.1"  excutor="tomcatThreadPool"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8"/>

4. 屏蔽文件列表

打開 tomcat 目錄下的 conf/web.xml ,

找到:

<servlet>

<servlet-name>default</servlet-name>

<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

將 listings 參數改爲 false;

5. 配置應用 (web.xml)

對系統應用做些控制。

配置 session 過期時間,大多數網站用戶都只是做些瀏覽性的操作,爲了減輕服務器負載壓力,我們將 session 超時時間從默認的 30 分鐘變爲 5 分鐘。

在 web 應用程序的 web.xml 中 servlet-mapping 之後增加如下一段:

<session-config>

<session-timeout>5</session-timeout>

</session-config>

 

Apache優化

  /opt/apache2/apache2.conf

#一個連接的最大請求數量

MaxKeepAliveRequests 10000 

#關掉主機Lookup,如果爲on,很影響性能,可以有10多秒鐘的延遲。

HostnameLookups Off

#緩存配置

LoadModule cache_module modules/mod_cache.so

LoadModule disk_cache_module modules/mod_disk_cache.so

LoadModule mem_cache_module modules/mod_mem_cache.so

<IfModulemod_cache.c>

CacheForceCompletion 100

CacheDefaultExpire 3600

CacheMaxExpire 86400

CacheLastModifiedFactor 0.1


<IfModule mod_disk_cache.c>

CacheEnable disk /

CacheRoot c:/cacheroot

CacheSize 327680

CacheDirLength 4

CacheDirLevels 5

CacheGcInterval 4

</IfModule>

<IfModule mod_mem_cache.c>

CacheEnable mem /

MCacheSize 8192

MCacheMaxObjectCount 10000

MCacheMinObjectSize 1

MCacheMaxObjectSize 51200

</IfModule>

</IfModule>

worker. Properties文件

#


Mysql配置:

Server類型:DedicatedMySQL Server Machine 

Database usage:Transational Database Only

併發連接數量:OnlineTransaction Processing(OLTP)

字符集:UTF8

數據庫連接池的配置:

我們採用的是spring 框架,配置如下:

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

<propkey="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>

<propkey="hibernate.connection.url">jdbc:mysql://202.88.1.103/db</prop>

<prop key="hibernate.connection.username">sa</prop>

<prop key="hibernate.connection.password"></prop>

<propkey="hibernate.show_sql">false</prop>

<prop key="hibernate.use_sql_comments">false</prop>

<propkey="hibernate.cglib.use_reflection_optimizer">true</prop>

<prop key="hibernate.max_fetch_depth">2</prop>

<propkey="hibernate.c3p0.max_size">200</prop>

<prop key="hibernate.c3p0.min_size">5</prop>

<prop key="hibernate.c3p0.timeout">12000</prop>

<prop key="hibernate.c3p0.max_statements">50</prop>

<prop key="hibernate.c3p0.acquire_increment">1</prop>

</props>

</property>

其他的沒有額外配置。

LoadRunner 常見問題:

(1)sofewarecaused connction:這種情況,一般是腳本有問題,或者loadrunner有問題。解決方法:重新啓動機器,或者重新錄製腳本,估計是loadrunner的bug。

(2)cannotconnect to server:無法連接到服務器。這種情況是服務器的配置有問題,服務器無法承受過多的併發連接了。需要優化服務器的配置,

如操作系統採用windows2003 server,

優化tomcat配置:maxThreads="500"minSpareThreads="400" maxSpareThreads="450"。但是tomcat 最多支持500個併發訪問

優化apache配置:

ThreadsPerChild 1900

MaxRequestsPerChild 10000

其他的錯誤如:

Action.c(10): Error -27791: Server has shut down the connection prematurely

HTTP Status-Code=503 (Service Temporarily Unavailable)

一般都是由於服務器配置不夠好引起的,按照問題(2)處理,如果仍舊不行,需要優化硬件和調整程序了。

Apache問題:

(1) Filedoes not exist: C:/Apache/htdocs/favicon.ico:

這個問題是apache,htdocs目錄沒有favicon.ico文件引起的,該文件是網站的圖標,僅在firefox,myIE等瀏覽器出現。

(2) 圖片無法顯示:

配置apache後,卻無法顯示圖片。

解決方法:把程序的圖片,按照程序結構copy到apache的htdocs目錄下。

(3) 無法處理請求:

當我們輸入 ***.do 命令後,apache確返回錯誤信息,而連接tomcat卻沒有問題。原因是沒有把.do命令轉發給tomcat處理。解決方法如下:

在apache配置文件中配置如下內容:

DocumentRoot "C:/Apache/htdocs"

JkMount /*.jsp loadbalancer

JkMount /*.do loadbalancer

發佈了22 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章