須藤です。 In <20220****@ayd*****> "[groonga-dev,04960] Re: Mroongaのalloc_countの増加について、cache_limitの恒久設定方法" on Mon, 18 Apr 2022 19:04:17 +0900 (JST), OHTSUKA Soushi(大塚 総司) <so****@ayd*****> wrote: >> 日中のどれか1つ以上のクエリーでメモリーリークしていると思う >> ので、日中のクエリーを記録しておいて(*)、各クエリーについて >> 以下を確認してもらえますか? >> >> (*) General Query Logで記録できます。 >> https://mariadb.com/kb/en/general-query-log/ >> >> 1. 実行前のalloc_countを記録する >> 2. クエリーを実行する >> 3. 実行後のalloc_countを記録する >> 4. ↑の1.から3.を何回も実行し続ける > > 対象が本番環境になるので関係者と調整しながら進めてみます。 ありがとうございます! > また結構地道な作業になりそうですので、返信にしばらくお時間かかると > 思いますが、うまく問題のクエリが釣れるように頑張ってみます。 結構いきおいよく上昇しているので10:00-12:00あたりのMATCH AGAINSTを使っているクエリーをいくつかピックアップすると意外 とすぐに見つかるのではないかという気がしています。 再現の確認ですが、本番環境で実行しなくても大丈夫です。 mysqldumpでダンプしたデータ(Mroongaはオンラインでmysqldump をするとデータの整合性が壊れることがありますがテスト用なので 気にしなくていいです)をテスト用の環境にリストアしてテスト用 の環境で確認しても大丈夫です。 >> 回避方法なんですが、たぶん、再起動ではなくFLUSH TABLESでも回 >> 避できるとは思います。再起動よりは多少はマシかもしれませ >> ん。。。 > > たまたまサイトがいつもより注目され、日中のメモリ消費が激しくなったときに > どうしようかなと言う悩みがあったので大変助かります。 > これも効果があるのか試してみます。 FLUSH TABLESした直後は再起動直後と同じように最初のクエリーの 処理が遅くなるので注意してください。(DBを開いたりストレージ 上のデータをメモリー上に載せたりするため。)