見出し画像

TWSNMP FCの潜在的問題の対策

今朝は4時に助手の猫さんが起こしてくれました。昨日の体調不良から復活しました。

先週メールでやり取りしてたTWSNMP FCのポーリングが停止するという問い合わせについて詳しく調べました。どうやら潜在的な問題があったようです。
発生する条件は300以上のポーリングを登録(もしかるとともっと多く)してポーリングログの出力を「常に出力」か「AI分析」にしている状態だと思います。動作環境のPCの性能にも依存するかもしれません。ポーリングの実行を受け付けるGO言語のチャネルに書き込む空きがなくなってデットロックしていたようです。チャネルのサイズを調整して再現できました。GO言語のチャネルの使い方に不慣れな時期に作った初歩的なミスでした。GO言語のチャネルに書き込む側と受け取る側が同じGOルーチンで動作していてチャネルに空きがなくなるとデットロックします。
AI分析の処理も高負荷になりそうなので対策を考えました。

次のバージョンで修正します。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。