Redmine-3.4.2からRedmine-5.0.2移行後、Proxy Errorが発生しアクセスできなくなる。

1,354 views
Skip to first unread message

ryota_shimomura

unread,
Oct 30, 2022, 11:31:52 AM10/30/22
to Redmine Users (japanese)
はじめまして

主題の通り、Proxy Errorが発生しアクセスできなくなる、
またはアクセスしづらくなる現象が発生するようになっております。

Redmineの再起動、PC再起動により復旧しますが、
しばらくすると現象が再発します。
また、しばらく放置しておくとアクセスできるようになり、
不安定な状態になっております。

Apacheのerror.logに以下のエラーログが大量に出力されていました。
-----------------------------------------------------------------------------------------------------
[proxy:error] [pid 9824:tid 1288] (OS 10060)接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
-------------------------------------------------------------------------------------------------------
現在、改善に向けて作業中ですがApacheやRuby等のバックエンド周辺知識が乏しく、
難航しております。。

[Redmine使用方法]
Redmine用のPCにBitnami Redmineをインストールし、
そのPCのIPアドレスからアクセスして使用しています

ローカル上での運用となりますので、Proxyを経由する必要はなく
Proxy設定を行ったことはありません。

[移行方法]
 ○添付ファイル
  ・運用中PC(Redmine-3.4.2)からfilesフォルダをコピーし、
   別PC(Redmine-5.0.2)の同フォルダに保存
 ○データベースダンプファイル
  ・運用中PCでmysqldumpコマンドを実行しbitnami_redmineデータベースのダンプファイルを取得
  ・別PCでphpmyadminにアクセスし、既存のデータベース「bitnami_redmine」を一旦削除する
  ・削除後、「bitnami_redmine」を新規作成する 
  ・mysqlコマンドを実行し、取得したダンプファイルをインポート

 ○Redmineのマイグレーション
  ・bundle exec rake db:migrate RAILS_ENV=production
  ・bundle exec rake redmine:plugins:migrate RAILS_ENV=production
  ・bundle exec rake tmp:cache:clear RAILS_ENV=production
 
 ○パッケージツール上からRedmineを再起動

確認1
素人の考えになりますが、ApacheのProxyが関係するモジュールを外した状態にすると
Internal Errorが表示されましたので、
Redmineを立ち上げるために必要最低限な機能と考えております。

確認2
移行前後のRedmineでApacheの設定を比較しましたが、
両方デフォルト設定で運用していましたので、設定に違いなどは見受けられませんでした。

確認3
PCスペックによる不具合なのかを確認するために、
別PC(運用中のPCより性能が少し低い)に同一環境のRedmineを立ち上げ
現在、再現確認中です。

別PCで同不具合が再現した場合、スペック性能による不具合ではないため、
Redmine内部の設定に問題があると考えております。

他に確認するべきこと、解析に必要な情報等ございましたら、
ご連絡を頂ければと思います。

以上、よろしくお願い致します。

Takashi Katou

unread,
Oct 30, 2022, 7:03:46 PM10/30/22
to redmine-...@googlegroups.com
はじめまして。
Bitnami Redmine は使用経験がないので、一般的な話となりますが、Apache は Redmine のリバースプロキシとしてブラウザとRedmineの間に立ってファイルの配信を行っているだけではないかと思います。
Apache のエラーログは、ブラウザのリクエストを受け取った Apache が仲介役として Redmine本体にリクエストを転送したものの返答が返ってこなかったということです。

Redmineの実際のエラーは、Redmineの production.log に記載されていると思うのでそちらを参照してみてください。
ログの場所は、

https://bitnami.com/stack/redmine/README.txt によると、Bitnamiのインストールディレクトリ以下の "apps/redmine/htdocs/logs/" 以下にあるのではないかと思います。

ryota_shimomura

unread,
Oct 31, 2022, 9:33:37 AM10/31/22
to Redmine Users (japanese)
さっそくのご回答ありがとうございます。

当方、Redmineのproduction.logが出力されることについては把握しております。
軽く調べてCompleted 200 OKが出力されていたことから、Redmine本体に問題がないと判断しておりました。

もう一度、production.logも含めてログの解析に着手していきたいと思います。

昨日の再現確認で
Redmineで全プロジェクト上で文字列検索を行うと、検索処理に時間がかかることがわかりました。
その際、mariaDBのmy.iniファイル上でslow queryの設定を行い、ログを出力するようにしました。

slow query実施時のログの見方等、別途調査中ではありますが、
query_timeに10.534..msというログが出力されていました。

このことから推測になりますが、DBの処理に一定以上の負荷がかかっている状態で、
Redmineのその他のチケット操作(作成や更新など)を行うと、返答が返らず
タイムアウト設定まで経過するとProxy Errorが表示されると考えております。

これから、ApacheだけではなくmariaDB(MySQL)の設定や出力ログ、Redmineのproduction.logについて、
引き続き確認していきたいと思います。

何かこちらの方で進展等がございましたら、このスレッドに追加して
状況連絡を行います。

以上、よろしくお願いいたします。

2022年10月31日月曜日 8:03:46 UTC+9 tohosa...@gmail.com:

ryota_shimomura

unread,
Nov 6, 2022, 3:44:09 AM11/6/22
to Redmine Users (japanese)
状況連絡になります。
Redmineのproduction.logとApacheのerror.logを照らし合わせて確認すると、
Redmineのプロジェクト内検索を行うと、それ以降のRedmineのアクセスで
ステータスコードが502になることが判明いたしました。

今回判明したプロジェクト内検索では、検索結果を表示するまでに10秒程度かかりました。

 Redmine本体にリクエストを転送したものの返答が返らない原因は、
検索結果を表示する処理に時間がかかり、タイムアウトした結果がProxy Errorではないかと考えております。

他にも原因はあると思いますが、プロジェクト内検索では以下の対応を行おうと考えております。
・完全に完了したプロジェクトのアーカイブ化
 →チケット登録や更新が完全になくなり、終了しているプロジェクトがありますので、
  アーカイブ化を行い、検索対象を減らすことを考えております。
・全プロジェクトで検索することを控える
 →今回のログでは、全プロジェクトに対して文字列検索をしていることが判明しております。
  そのため、自分自身が関係するプロジェクトのみでの検索に留まれば、ProxyErrorが減少するのではないかと考えております。

はじめに、Redmine上のアプリとしての設定を見直してから、
ApacheやMySQLの設定を調整していこうと考えております。

プロジェクト検索のように、チケット数やプロジェクト数の増加に伴い
処理に時間がかかる操作は他に何かございますでしょうか?

他に確認するべきこと、解析に必要な情報等ございましたら、
ご連絡を頂ければと思います。

以上、よろしくお願い致します
2022年10月31日月曜日 22:33:37 UTC+9 ryota_shimomura:
Reply all
Reply to author
Forward
0 new messages