啟動tomcat時,日誌裡大量輸出建立資料來源dataSource的日誌

林家小米發表於2018-03-16

晚上十二點上線過程中,出現了一個嚴重問題,記錄一下:


運維部署好程式碼之後,重啟tomcat,日誌裡輸出大量的以下資訊


00:03:27.311 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
00:03:27.319 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} inited
00:03:27.324 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} inited
00:03:27.334 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5} inited
00:03:27.346 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-7} inited
00:03:27.360 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-9} inited

……

00:16:41.669 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-20185} inited
00:16:42.802 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-20186} inited
00:16:42.876 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-20187} inited
00:16:44.165 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-20188} inited
00:16:44.216 [localhost-startStop-1] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-20189} inited


該資訊為連線資料庫時,一直建立資料來源,短短十幾分鍾已經建立了2萬多(訪問應用時全部超時),

趕緊檢視db的xml,發現配置並沒有什麼問題,而且此配置檔案一直未改動過,生產已經執行了一年多,問題原因不在這裡

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="initialSize" value="3" />
        <property name="minIdle" value="3" />
        <property name="maxActive" value="20" />
        <property name="maxWait" value="60000" />
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
        <property name="minEvictableIdleTimeMillis" value="300000" />
    </bean>


經過與運維同事多方排查,發現catalina.sh檔案的修改時間就在一個小時前,但是上線的過程中,我全程在看著,並沒有人修改過此檔案,

版本比對之後發現,下面的紅色的配置變的極小,

-server -Xms128k -Xmx128k -Xss512K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:+UseParallelGC -XX:PermSize=512k -XX:MaxPermSize=512k

然後調整此引數如下:

-server -Xms3g -Xmx3g -Xss512K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:+UseParallelGC -XX:PermSize=256m -XX:MaxPermSize=256m


重啟tomcat,服務正常啟動

相關文章