免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4124 | 回复: 5
打印 上一主题 下一主题

[Web] 请教关于Tomcat6优化的注意事项 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-22 21:58 |只看该作者 |倒序浏览
目前的架构是:

Apache2.2.17+Tomcat6.0.26做集群,通过ProxyPass方式,数据库使用的是mysql-5.1.45。

服务器配置:Xeon E5504、8G内存、SAS硬盘。

请教万能的CU,Tomcat做优化(瘦身),我的配置有哪些不足之处和不完善的地方。(本人无JAVA开发经验,网上的好多帖子,我也看的似懂非懂)请大侠们指教!
Tomcat增加的JVM的虚拟内存,命令如下:
JAVA_OPTS="-server -Xms1024m -Xmx1024m  -XXermSize=128M -XX:MaxNewSize=512m -XX:MaxPermSize=256m -Djava.awt.headless=true"

Tomcat配置文件如下:
##################################################################
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <Service name="Catalina">

     <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

     <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"
        maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
        executor="tomcatThreadPool"
        enableLookups="false" acceptCount="100"
        compression="on" compressionMinSize="2048"
        compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
        connectionTimeout="60000" disableUploadTimeout="true" URIEncoding="UTF-8"/>


     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
     <Engine name="Catalina" defaultHost="localhost">

       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
              resourceName="UserDatabase"/>

       <Host name="localhost"  appBase=""
             unpackWARs="true" autoDeploy="true"
             xmlValidation="false" xmlNamespaceAware="false">

        <Context path="/test" docBase="/data/test" reloadable="true" />

         <Valve className="org.apache.catalina.valves.AccessLogValve"
                directory="/data/logs" prefix="test_access_log."
                pattern="combined" resolveHosts="false" fileDateFormat="yyyyMMdd" />

      </Host>
    </Engine>
  </Service>
</Server>
##################################################################

论坛徽章:
0
2 [报告]
发表于 2010-12-23 07:18 |只看该作者
大侠们,现身吧

论坛徽章:
0
3 [报告]
发表于 2010-12-23 10:33 |只看该作者
大侠们,现身吧
鬼树雾爻 发表于 2010-12-23 07:18



    数据库连接迟多少?

论坛徽章:
0
4 [报告]
发表于 2010-12-23 10:55 |只看该作者
数据库连接池在spring.xml定义的

配置如下:
####################################
        <bean
                id="dataSource"
                class="org.apache.commons.dbcp.BasicDataSource"
                destroy-method="close">
                <property name="driverClassName">
                        <value>${hibernate.connection.driverClass}</value>
                </property>
                <property name="url">
                        <value>${hibernate.connection.url}</value>
                </property>
                <property name="username">
                        <value>${hibernate.connection.userName}</value>
                </property>
                <property name="password">
                        <value>${hibernate.connection.password}</value>
                </property>

                <property name="maxActive">
                        <value>1000</value>
                </property>
                <property name="maxIdle">
                        <value>20</value>
                </property>
        </bean>
####################################

论坛徽章:
0
5 [报告]
发表于 2010-12-23 18:40 |只看该作者
不要沉啊~~~~万能的CU

论坛徽章:
0
6 [报告]
发表于 2010-12-27 13:46 |只看该作者
一起探讨,我提几点:

1、8G内存为何不分出更大的内存给java vm呢?考虑到4G的限制(java应该没有4G的最大内存限制吧?我没找到类似的资料),是不是3.5或者4或者更大些更好呢?
2、共享池才500么?E5504应该是4核2.0吧(大致这个频率)?我觉得双核也能承受500了,多些应该更能节省资源。另外60000的ldle是不是反而太大了呢?
3、我以为你的目录结构要故意设计成那个样子,我看得有点乱。reloadable="true"有些时候奇怪的问题就来自这个选项。

意见仅供讨论,决定方在你。权当抛个瓦片吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP