LightFile NextLightFile Next

パフォーマンスとログ

パフォーマンス最適化とログに関するトラブルシューティング

パフォーマンス関連

処理が遅い

症状: 処理に時間がかかりすぎる。

解決方法:

  1. 並列処理を有効化:

    # CPUコア数に合わせる(例: 4コアの場合)
    lightfile-batch local /path/to/images --concurrency 4
  2. ファイルサイズでフィルタ:

    # 大きなファイルのみ処理(効果が大きい)
    lightfile-batch local /path/to/images --min-size 100kb
  3. 詳細ログを無効化:

    # ログレベルを下げる
    lightfile-batch local /path/to/images --log-level warn
  4. 進捗ログの間隔を延ばす:

    lightfile-batch local /path/to/images --log-progress-interval 1m
  5. インデックスファイルを使用 (大規模ディレクトリの場合):

    # 事前にファイルリストを作成
    find /path/to/images -name "*.jpg" > files.txt
    lightfile-batch local /path/to/images --index-file files.txt

メモリ不足

症状: プログラムが途中で停止する、またはシステムが重くなる。

解決方法:

  1. 並列処理数を減らす:

    # 並列処理を控えめに
    lightfile-batch local /path/to/images --concurrency 1
  2. 大きなファイルを除外:

    # 5MB以下のファイルのみ処理
    lightfile-batch local /path/to/images --max-size 5mb
  3. バッチ処理:

    # ディレクトリごとに分けて処理
    lightfile-batch local /path/to/images/dir1 --concurrency 2
    lightfile-batch local /path/to/images/dir2 --concurrency 2

リモートファイルシステムが遅い

症状: FTP/SFTP/WebDAV/S3での処理が非常に遅い。

解決方法:

  1. 並列処理数を増やす (ネットワーク待機を減らす):

    lightfile-batch s3 --s3-bucket my-bucket --s3-acl private --concurrency 8
  2. タイムアウト時間を調整 (FTPのみ):

    # FTP
    lightfile-batch ftp \
      --ftp-host ftp.example.com \
      --ftp-short-timeout 60 \
      --ftp-long-timeout 600 \
      ...

    注意: SFTPとWebDAVのタイムアウト設定はYAML設定ファイルでのみ指定可能です。

  3. インデックスファイルを使用 (スキャン時間を短縮):

    lightfile-batch s3 \
      --s3-bucket my-bucket \
      --s3-acl private \
      --index-remote-file index.tsv

ログ関連

進捗ログが表示されない

症状: 進捗表示がフリーズしているように見える、または全く表示されない。

原因: --quiet オプションが指定されているか、--log-progress-interval 0 が設定されている

対処法:

# quietオプションを外す
lightfile-batch local /path/to/images

# 進捗間隔を明示的に設定
lightfile-batch local /path/to/images --log-progress-interval 30s