1. WEB服务器... 3
2. 操作系统调整... 3
2.1. 关闭所有无关服务... 3
2.2. 关闭IBM系统监控程序... 3
3. Tomcat容器调整... 4
3.1. 调整TOMCAT最大处理线程数... 4
3.2. 关闭TOMCAT的DNS功能... 4
3.3. 修改TOMCAT容器默认使用最大内存... 4
4. WEB应用调整... 5
4.1. 调整WEB应用的链接池大小... 5
5. WEB服务系统监控程序... 5
5.1. 程序功能... 5
5.2. 程序部署... 6
5.3. 运维使用帮助... 6
6. 数据库调整... 6
6.1. 数据库最大连接数... 6
7. 优化后测试结果... 6
1. WEB 服务器
型号:IBMX205
硬盘: 36G
内存: 512M
CPU :Intel(R) Pentium(R) 4 CPU 2.80GHz
运行的应用主要为xxx Web服务公司主站Web服务
2. 操作系统调整
2.1. 关闭所有无关服务
关闭 samba , mail , vsftp 等与提供 WEB 服务无关的系统服务,释放资源,减小系统冲突的可能。
2.2. 关闭 IBM 系统监控程序
IBM 为其服务器提供了一套 JAVA 版的系统和硬件监控程序,但是其运行对系统资源的暂用相当的大,高峰时期可以消耗调 50% 以上的系统资源和内存。现在关闭该程序释放资源
3. Tomcat 容器调整
3.1. 调整 TOMCAT 最大处理线程数
在 tomcat 服务配置文件 server.xml 中修改最大处理线程数。
文件路径: /usr/tomcat- 4.1.24 /conf/server.xml
minProcessors: 最小处理线程数
maxProcessors :最大处理线程数
acceptCount :当系统所有可用链接使用完后,允许排队处理的数量
port ="80" minProcessors ="5" maxProcessors ="400"
enableLookups ="false" redirectPort ="8443"
acceptCount ="50" debug ="0" connectionTimeout ="60000" URIEncoding ="GB2312" />
3.2. 关闭 TOMCAT 的 DNS 功能
当 web 应用程序向要记录客户端的信息时,它也会记录客户端的 IP 地址或者通过域名服务器查找机器名转换为 IP 地址。 DNS 查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的 IP 的过程,这样会消耗一定的时间。为了消除 DNS 查询对性能的影响我们可以关闭 DNS 查询,方式是修改 server.xml 文件中的 enableLookups 参数值:
文件路径: /usr/tomcat- 4.1.24 /conf/server.xml
enableLookups ="false" redirectPort ="8443" acceptCount ="100" debug ="0"
connectionTimeout ="20000" useURIValidationHack ="false" disableUploadTimeout ="true" />
3.3. 修改 TOMCAT 容器默认使用最大内存
修改 tomcat 容器使用的最大内存,提供容器的处理性能 :
文件路径: /usr/tomcat- 4.1.24 /bin/catalina.sh
在文件中加入启动参数: CATALINA_OPTS="$CATALINA_OPT -Xms 256m -Xmx 400m "
4. WEB 应用调整
4.1. 调整 WEB 应用的链接池大小
通过修改应用配置文件,加大应用的链接池的最大链接数为 100 。
1. 修改配置文件
/usr/tomcat- 4.1.24 /webapps/xxx/WEB-INF/classes/ConnectionCache.xml
< Config >
< ConnectionCache name ="xxx" user ="dws" password ="xxxx" >
< HostConfig >
< url > jdbc:oracle:thin:@xxx.xxx.xx.xxx:1521:dws </ url >
< minLimit > 1 </ minLimit > <! —最小数据库链接数 -- >
< maxLimit > 100 </ maxLimit > <! —最大数据库链接数 -- >
< cacheSchema > DYNAMIC_SCHEME </ cacheSchema >
< cacheFixedWaitIdleTime > 3 </ cacheFixedWaitIdleTime >
< cacheFixedWaitTimeout > 30 </ cacheFixedWaitTimeout >
< cacheInactivityTimeout > 3600 </ cacheInactivityTimeout >
<!-- 连接最大活动时间,即一个SQL语句最长的执行时间 -->
< cacheTimeToLiveTimeout > 60 </ cacheTimeToLiveTimeout >
<!-- 连接池维护线程检测间隔时间 -->
< threadWakeUpInterval > 60 </ threadWakeUpInterval >
<!-- 缓存数量 -->
< stmtCacheSize clearMetaData ="false" > 120 </ stmtCacheSize >
</ HostConfig >
</ ConnectionCache >
</ Config >
2. 重新启动服务
5. WEB 服务系统监控程序
5.1. 程序功能
1. 监控当前操作系统连接中关于 WEB 服务相关的连接数量(数据库连接的已连接,等待,发送等状态; WEB 服务器的 http 连接数量),如果当前连接异常,重新启动 WEB 服务器恢复。
2. 定时启动 WEB 服务器,释放资源暂用(一般在没有 http 连接的情况下)。
3. 检测 WEB 服务器响应情况,如果 WEB 服务器没有响应,重新启动服务器 .
5.2. 程序部署
程序文件: /usr/tomcat- 4.4.24 /bin/tomcat_monitor.sh
crontab 定时计划:没 5 分钟检测一次 TOMCAT 服务和数据库链接状况
# crontab –l
# */5 * * * * /usr/tomcat- 4.1.24 /bin/tomcat_monitor.sh>/dev/null 2>&1
5.3. 运维使用帮助
监控日志使用 : /usr/tomcat- 4.1.24 /bin/conn.log
格式说明:
[ 2007-03-23 09:50:00] ESTABLISHED=6 TIME_WAIT=0 SYNCSENT=0 httpd=1
[ 2007-03-23 09:50:00] Tomcat is HTTP/1.1 200 OK
- ESTABLISHED :正在链接数据库链接
- TIME_WAIT :等待的链接
- SYNCSENT :正在发送的链接
- Httpd : Apache 服务进程数
- Tomcat is… :“ HTTP/1.1 200 OK ”是 WEB 服务器对请求的返回处理状态值, 200 表示正常
6. 数据库调整
6.1. 数据库最大连接数
根据需要须改数据库可以接受的外部连接数量,现在的最大值为: 150 个
7. 优化后测试结果
测试工具: Microsoft Web Application Stress Tool