2017-02-20 1 views
0

私はアプリとdbをaws ec2インスタンスにデプロイして、私は私のアプリのストレステストをしているとき、応答時間が大幅に増加しました。どのように私はmysqlに接続されているTomcatのアクティブな接続を見ることができますアプリケーションの接続の数を増やす

スレッドスタック解析では、DB接続を取得するためにtomcatスレッドがブロックされていることがわかります。以下はjstackのスタックトレースです。

java.lang.Thread.State:(オブジェクトモニタ上)BLOCKED org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:917)で

どこで私は、Tomcatから作られたアクティブなdb接続を確認することができますし、どうすればそれらを増やすことができます。

答えて

1

mysqlでshow processlistクエリを実行することができます。ここで、tomcatとdbサーバーが同じサーバーにデプロイされている場合、localhost:で多くの行が表示されます。これらはtomcatからmysqlへの接続です。あなたはtomcatをシャットダウンして同じことを確認し、localhost:portがなくなったすべての行を見ることができます。

アプリケーションによってmysqlに接続されていないかどうかは、使用している接続プールによって異なります。あなたがtomcatのデフォルト接続プールを使用しているように見えますが、接続プールを調整する方法についてはhttp://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html docを参照してください。

関連する問題