1

spring-data-redis を使用するバックエンド プロセスがあります。retwis cloneと同様に、StringRedisTemplateを使用します。Digital Ocean ドロップレットで約 3 ~ 4 時間実行した後、不思議なことに新しいキーの保持が停止しました。私のログは、私の redis 永続化コードが呼び出されていることを示しています。Spring-data-redis/jedis レイヤーで、エラーの兆候もなく、どういうわけか動作を停止します。

これまでに行ったトラブルシューティング

  1. 私は十分なラムを持っています。Redis は 6 MB しか使用していません。

  2. バックエンド プロセスを再起動したところ、すべてが再び期待どおりに機能し、キー値が挿入されています。

  3. redis-server.log を確認しました。spring-data-redis/jedis が失敗するという私の仮説と一致しています。最後のキーが挿入されたと同時にエントリが停止しました。2015 年 8 月 9 日のエントリは、不思議なことに失敗したときのものです。翌日、2015/08/10 のエントリは、私がそれを再開したときのものです。

    [2267] 09 Aug 19:20:51.094 * 1 changes in 300 seconds. Saving...
    [2267] 09 Aug 19:20:51.096 * Background saving started by pid 6611
    [6611] 09 Aug 19:20:51.348 * DB saved on disk
    [6611] 09 Aug 19:20:51.350 * RDB: 4 MB of memory used by copy-on-write
    [2267] 09 Aug 19:20:51.397 * Background saving terminated with success
    [2267] 09 Aug 19:25:52.043 * 1 changes in 300 seconds. Saving...
    [2267] 09 Aug 19:25:52.045 * Background saving started by pid 6706
    [6706] 09 Aug 19:25:52.417 * DB saved on disk
    [6706] 09 Aug 19:25:52.418 * RDB: 4 MB of memory used by copy-on-write
    [2267] 09 Aug 19:25:52.451 * Background saving terminated with success
    [2267] 10 Aug 05:01:38.204 * 1 changes in 300 seconds. Saving...
    [2267] 10 Aug 05:01:38.206 * Background saving started by pid 12252
    [12252] 10 Aug 05:01:38.647 * DB saved on disk
    [12252] 10 Aug 05:01:38.648 * RDB: 6 MB of memory used by copy-on-write
    [2267] 10 Aug 05:01:38.716 * Background saving terminated with success
    [2267] 10 Aug 05:06:39.054 * 1 changes in 300 seconds. Saving...
    [2267] 10 Aug 05:06:39.055 * Background saving started by pid 12263
    [12263] 10 Aug 05:06:39.193 * DB saved on disk
    [12263] 10 Aug 05:06:39.194 * RDB: 6 MB of memory used by copy-on-write
    [2267] 10 Aug 05:06:39.258 * Background saving terminated with success
    [2267] 10 Aug 05:11:40.082 * 1 changes in 300 seconds. Saving...
    [2267] 10 Aug 05:11:40.084 * Background saving started by pid 12272
    [12272] 10 Aug 05:11:40.342 * DB saved on disk
    [12272] 10 Aug 05:11:40.344 * RDB: 6 MB of memory used by copy-on-write
    [2267] 10 Aug 05:11:40.385 * Background saving terminated with success
    
  4. 私自身のアプリケーション ログには例外はありません。spring-data-redis にも jedis にもロガーはありません。そのため、例外はスローされず (キャッチしていないため)、ログ出力もありません。どうやら spring-data-redis に対してリクエストが行われており、spring-data-redis は例外なく私のコードに戻っています。

トラブルシューティングの次のステップは?

spring-data-redis とその基盤となる redis ドライバー "Jedis" には、ごくわずかな量のログが記録されます。2 のログを有効にしました。問題が再発した場合に役立つかどうかを確認します。

これをデバッグすることも検討しましたが、この時点で別のドライバー/プロジェクトに切り替えるだけでよいと思います。

4

0 に答える 0