タグ

DBCPとjavaに関するgologo13のブックマーク (6)

  • 「Tomcat」アイドル状態のコネクションについて - プログラム日記

    Tomcat ( Commons DBCP ですが ) で、プール内に一定時間以上アイドル状態で存在し続けたコネクションを切断するパラメータ timeBetweenEvictionRunsMillis、numTestsPerEvictionRun、minEvictableIdleTimeMillis 辺りについてのメモ ( 何度か調べてはいるのですがいつも忘れちゃうので。ドキュメントみれば直ぐわかりますが毎回調べる時間がもったいない )。 ドキュメントは、以下になります。 ・DBCP - Configuration http://commons.apache.org/proper/commons-dbcp/configuration.html ※ 余談ですが Tomcat 6.0 系だど Commons DBCP 1.3、Tomcat 7.0 系だと Commons DBCP 1.4 みた

    「Tomcat」アイドル状態のコネクションについて - プログラム日記
  • 【トラブル大捜査線】失われたコネクションを追え!

    【トラブル大捜査線】失われたコネクションを追え!:現場から学ぶWebアプリ開発のトラブルハック(7)(3/3 ページ) 【最終話】それが、トラブルシューティング屋の務め クローズ漏れの個所も大体の見当が付いたので、アプリケーション開発チームに確認・修正を依頼した。 アプリケーションが直るまでの間、removeAbandonedを付けたままで負荷試験を継続することにした。目的はremoveAbandonedのオーバヘッドを測定することである。logAbandonedを指定しなければstackTraceは生成されない。そのため、ある程度の性能は出るように思われた。 ■removeAbandonedの同期化 しかし、実際に測定してみたところ、思ったように性能は出なかった。CPUがほとんど使い切れなかったのだ。 ここまできたら、ついでに解析してしまうのが、トラブルシューティング屋の務めだろう。負荷

    【トラブル大捜査線】失われたコネクションを追え!
    gologo13
    gologo13 2017/03/24
    DBCP の設定についてわかりやすい / “removeAbandonedは本番環境で使用することは避けた方がよいだろう。”
  • 【トラブル大捜査線】失われたコネクションを追え!

    【第3話】Tomcatの持つコネクションプール「DBCP」 ■netstatコマンドによる確認 あるプログラムがソケットを使用してほかのプログラムと通信している場合、netstatコマンドを使用してソケットの状態を確認するといろいろなことが分かる。 早速、netstatでDBコネクションの状態を見てみると、確立済み(ESTABLISHED)状態のコネクションが、DBCPに設定している最大コネクション数と同じ数だけ存在した。Tomcatの設定を確認してみると、DBCPの最大コネクション数はTomcatの最大スレッド数と同じ値に設定してあった。つまり、スレッドが同時に複数のコネクションを使用しない限りコネクションが不足することはない。 ■リーダー「同時に1つのコネクションしか使わないはず」 アプリケーション開発のリーダーに確認したところ、「アプリケーションは同時に1つのコネクションしか使わない

    【トラブル大捜査線】失われたコネクションを追え!
    gologo13
    gologo13 2017/03/24
    connection pool, コネクションプール
  • Commons DBCPを使ってみる - Murayama blog.

    Commons DBCPについて調べてみました。 ちょっと前置きからスタートします。 Connectionオブジェクトの生成について Javaは、DBとの接続をjava.sql.Connection型のオブジェクトとして取り扱います。 JDBCドライバを使った一般的なプログラムは以下のようになります。 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521/ORCL", "scott", "tiger"); Connectionオブジェクトの生成にかかる負荷 上記のプログラムの場合、 Connection con = DriverManager.getConnection( "jdbc:o

    Commons DBCPを使ってみる - Murayama blog.
  • Commons DBCPを超えるTomcat JDBC Poolとは

    Commons DBCPを超えるTomcat JDBC Poolとは:Tomcat 7の新機能で何ができるようになるのか?(番外編)(1/2 ページ) TomcatのDBコネクション・プールは2つある @IT読者の皆さんは「Tomcat JDBC Connection Pool」をご存じですか? 通常、TomcatのDBコネクション・プールといえばApache Commonsプロジェクトの「Commons DBCP」を想像するかと思います。しかし、Tomcatには「Commons DBCP」以外にもDBコネクション・プールの実装が存在します。それが、「Tomcat JDBC Connection Pool」(以下、Tomcat JDBC Pool)です。 Tomcat JDBC Poolとは、Apache Tomcatプロジェクトが独自に作成したDBコネクション・プールの実装のことです。

    Commons DBCPを超えるTomcat JDBC Poolとは
    gologo13
    gologo13 2015/12/11
    tomcat-jdbc is better than commons-dbcp
  • Commons DBCP

    Commons DBCP は、データベースのコネクション・プーリングを扱うライブラリです。 Tomcat で標準採用されています。 動作説明 動作を簡単に説明します。 クライアントから接続要求が発生した場合 … getConnection() 1. DBCPは、プール内に空き接続があるか確認 2. あればそれを返す。この時その接続は アクティブ となる 3. プール内に空き接続が無ければ、新たに接続を作って返す クライアントから切断要求が発生した場合 … conn.close() 1. 切断要求のあった接続をプール内に保管する。この時その接続は アイドル となる 2. もしプール内に maxIdle 以上の接続が溜まったら、それ以上にならないように接続を削除する 接続監視スレッド DBCPには接続監視スレッドというものが存在します。 これは一定時間毎にプール内のアイドル接続をチェックするも

  • 1