linuxにおけるpaintchatAppの運用時の問題点

しぃちゃんpaintchat運用してます。
今回はid:zkasaさんの記事を見つけたのはでかいです。

簡単な環境

  • os
    • fedora7
  • paintchat
    • v3
  • httpサーバー
    • apache
    • paintchat同封のサーバーは使わない

運用して分かった問題

  • 長期間のサービス連続稼働に向かない
    • サーバーのcpu使用率が100%になるかもという懸念による
    • 原因:後述するログ読み取り時のロック現象等
    • その対策:
      • 毎日再起動
  • ログ読み込み時の停止現象
    • ログ読み込み中に退出を行うと、他の方がログ読み込みが出来ないため、書き込みが出来ない
    • 原因:lineログ読み込みの失敗
「何故描けないか」について説明しておきます。
PaintChatではアニメーションログの読み込みが終わらないと描き始める事ができません。
そのチャットではログを止めて全消しを行わずに帰ってしまう方が多いので、
ログが止まったままになっている事が非常に多いです。
ログの読み込みが止まったままの状態で放置されると、
後から来た人はログが最後まで読みこめない訳ですので、当然描く事ができません。
最後に退室される方が全消しをして帰ってくださる事を願うしかありません。
  • line_cashが更新されない
    • line_cashが更新されないため、ある閾値を超えた描画のアニメーションデータが復元されない
    • 原因:不明(これもログ関連だと思うが)
管理者でしたらチャットを一度停止させて
paintchatフォルダ内にある「save_server」というフォルダの中身を
キレイさっぱり消しちゃってください。
このフォルダに入っているファイルがログデータとなっていますので
save_serverフォルダの中を空にすることでログはなくなります。
    • 内容はPaintchatOfficialWebSiteからの転載
    • その対策:
      • サービスの再起動時にlineキャッシュデータを削除する
      • defaultではpaintchat/save_server/以下にlineキャッシュデータ関連ファイルがある
      • 恐らく悪さをしているのはline_cash.tmpのみだと思うが・・・?

参考

まとめ

どうやらlineログにはよほど気をつけないと、
すぐにサーバーのcpu使用率100%になってしまうようです。


実際に検証を行う予定ですが、paintchatAppの運用は
長期間の連続運用よりも、
こまめなサービスの再起動とlineログのクリアといった方針にした方が
よりベターなのではないでしょうか?