+ -
当前位置:首页 → 问答吧 → 关于hibernate,session线程绑定与CPU利率用率过高的问题

关于hibernate,session线程绑定与CPU利率用率过高的问题

时间:2011-08-17

来源:互联网

做了一个网站项目,项目开启后2-3个小时,服务器的CPU就达到了790%多(8核CPU),急求各位大大帮忙,还有 配置的时候需要将hibernate的session与当前线程绑定吗?


hibernate连接数据库配置为
XML code

<property name="minPoolSize"><value>15</value></property>
          <property name="maxPoolSize"><value>200</value></property>
          <!--最大空闲时间,600秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> 
          <property name="maxIdleTime"><value>60</value></property>
          <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
          <property name="acquireIncrement"><value>3</value></property>
          <property name="maxStatements"><value>1000</value></property>
<!--           <property name="maxStatementsPerConnection"><value>0</value></property> -->
          <property name="initialPoolSize"><value>10</value></property>
          <!--每600秒检查所有连接池中的空闲连接。Default: 0 -->
          <property name="idleConnectionTestPeriod"><value>60</value></property>
          <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> 
          <property name="acquireRetryAttempts"><value>30</value></property>
          <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效    
            保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试    
            获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->
          <property name="breakAfterAcquireFailure"><value>true</value></property>
          <property name="testConnectionOnCheckout"><value>false</value></property>



XML code


<property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.SQLServerDialect
                </prop>
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.generate_statistics">true</prop>
                <prop key="hibernate.format_sql">false</prop>
                <prop key="hibernate.generate_statistics">true</prop>
                <prop key="hibernate.connection.release_mode">auto</prop> 
                <!-- 设置支持连接池的重连 -->
                <prop key="hibernate.autoReconnect">true</prop>
                <!-- 绑定session 到当前线程上 -->
                <prop key="hibernate.current_session_context_class">thread</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.jdbc.batch_size">50</prop>
                <prop key="hibernate.jdbc.fetch_size">50</prop>
            </props>
        </property>

作者: liyangyun1986   发布时间: 2011-08-17

有人帮忙吗? 救命啊~~~~~

作者: liyangyun1986   发布时间: 2011-08-17

热门下载

更多