请问如何提高应用对mysql的processlist
我的应用使用ibatis,连接池用了apache的dbcp,应用的访问量比较大,基本每秒都会有写数据库的操作,我用show processlist查看当前进程,processlist的数量怎么也不会超过30条,就算processlist全部都用光了,resin的连接数由于等待数据库而不断升高直至抛异常的时候,show processlist还是不会超过30,请问这个是正常的吗?还是我的配置有错,请指教!
我的ibatis的配置如下
<sqlMapConfig>
<settings
cacheModelsEnabled="true"
lazyLoadingEnabled="true"
enhancementEnabled = "true"
maxRequests="512"
maxSessions="128"
maxTransactions="32"
useStatementNamespaces="true"
/>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="DBCP">
<property name="JDBC.Driver" value="org.gjt.mm.mysql.Driver"/>
<property name="JDBC.ConnectionURL" value="ConnectionURL"/>
<property name="JDBC.Username" value="username"/>
<property name="JDBC.Password" value="password"/>
<property name="JDBC.DefaultAutoCommit" value="true"/>
<property name="Pool.ValidationQuery" value="select 1"/>
<property name="Pool.testOnBorrow" value="true"/>
<property name="Pool.initialSize" value="40"/>
<property name="Pool.maxActive" value="300"/>
<property name="Pool.MaximumCheckoutTime" value="14400"/>
<property name="Pool.maxIdle" value="150"/>
<property name="Pool.minIdle" value="40"/>
<property name="Pool.maxWait" value="60000"/>
<property name="Pool.numTestsPerEvictionRun" value="3"/>
<property name="Pool.timeBetweenEvictionRunsMillis" value="1000"/>
<property name="Pool.minEvictableIdleTimeMillis" value="1800000"/>
<property name="Pool.RemoveAbandoned" value="false"/>
<property name="Pool.RemoveAbandonedTimeout" value="300"/>
<property name="Pool.LogAbandoned" value="false"/>
</dataSource>
</transactionManager>
</sqlMapConfig>