Home » スタッフBlog » iDempiereの同時接続数問題

iDempiereの同時接続数問題

category : スタッフBlog 2013.7.24 

技術部の山下です。
iDempiere導入プロジェクトの技術担当をしております。

idempiere

今回の担当案件は既に運用開始されており、現在は落ち着いた状況となっておりますが。
平行運用テスト開始直後はDBの接続数がある数値を超えるとシステムダウンとなる問題に大変悩まされました。

通常、DBには接続数の最大値を設定しており、
それに近づくまたは超えると、システムが不安定になったり、システムダウンを起こしてしまいますが、
max_connectionsの数を増やせば良いという訳ではないため、環境に合わせてチューニングする必要があります。

今回はかなり大規模なカスタマイズを行っているため、その中に不具合があるのか、別の問題があるのかなど
コミュニティに問い合わせたり、出てくるキーワードを手当たり次第検索したりと、対応にはとても苦労しました。

通常利用者がそれほど多くなければ問題にならない部分ですが、今回は約70拠点から同時アクセスが前提であったため接続数が多く、
当初はpgpool-IIを入れて強制的に開放することも検討しましたが、 運用上問題ありと判断し
結果的にiDempiere自体をチューニングすることでし、この件については落ち着くこととなりました。
※PostgreSQL9.1のmax_connectionsは1000としました。

しかし・・・その2ヶ月後
ある日、突然システムが停止してしまいました。
原因を探っていると、どうも例のDB接続数問題のようです。

問題の箇所は対応したのになぜ??
そうこうしているうちに、次の週も同じ現象が発生してしまいました。
毎日ではなく、ある日のみ起こる現象です。

問題を探るべく、ログを仕込み解決する為のヒントを得ようとしました。
その結果スレッド監視のプログラム自体が落ちていることが発覚し、今回もコミュニティに問い合わせてみたところ、
さっそく、iDempiereのメインメンバーであるHengSinさんより御回答頂きました。

iDempiereの不具合として、すでにチケットが上がっており、バージョン 1.0cでは対応済みとのことです。

※ 1.0c ・・・ 2013/06/27 公開版
今回のプロジェクト開始時点では1.0aであったため、最新版のソースを取得し、
問題の箇所をマージする事で対応しました。

コミュニティーとメインコミッターさんに感謝です。
また、改めてオープンソースの良さも体感できるプロジェクトでした。

このように、iDempiereでは現在も日々コミットが行われております。
そうした変化に遅れないよう常に気を配っておきたいと思います。

【コミュニティ掲示板】
https://groups.google.com/forum/?fromgroups=#!forum/idempiere

【チケット】
https://idempiere.atlassian.net/secure/Dashboard.jspa

タグ

サイト内検索

Copyright(c) 2013 IT-TERA All Rights Reserved.