您的位置:首页 > 运维架构 > Tomcat

Ubuntu安装配置记5(TOMCAT6 ,APACHE2优化,常见问题处理)

2011-10-08 12:22 886 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息