パフォーマンスとログ
パフォーマンス最適化とログに関するトラブルシューティング
パフォーマンス関連
処理が遅い
症状: 処理に時間がかかりすぎる。
解決方法:
-
並列処理を有効化:
# CPUコア数に合わせる(例: 4コアの場合) lightfile-batch local /path/to/images --concurrency 4 -
ファイルサイズでフィルタ:
# 大きなファイルのみ処理(効果が大きい) lightfile-batch local /path/to/images --min-size 100kb -
詳細ログを無効化:
# ログレベルを下げる lightfile-batch local /path/to/images --log-level warn -
進捗ログの間隔を延ばす:
lightfile-batch local /path/to/images --log-progress-interval 1m -
インデックスファイルを使用 (大規模ディレクトリの場合):
# 事前にファイルリストを作成 find /path/to/images -name "*.jpg" > files.txt lightfile-batch local /path/to/images --index-file files.txt
メモリ不足
症状: プログラムが途中で停止する、またはシステムが重くなる。
解決方法:
-
並列処理数を減らす:
# 並列処理を控えめに lightfile-batch local /path/to/images --concurrency 1 -
大きなファイルを除外:
# 5MB以下のファイルのみ処理 lightfile-batch local /path/to/images --max-size 5mb -
バッチ処理:
# ディレクトリごとに分けて処理 lightfile-batch local /path/to/images/dir1 --concurrency 2 lightfile-batch local /path/to/images/dir2 --concurrency 2
リモートファイルシステムが遅い
症状: FTP/SFTP/WebDAV/S3での処理が非常に遅い。
解決方法:
-
並列処理数を増やす (ネットワーク待機を減らす):
lightfile-batch s3 --s3-bucket my-bucket --s3-acl private --concurrency 8 -
タイムアウト時間を調整 (FTPのみ):
# FTP lightfile-batch ftp \ --ftp-host ftp.example.com \ --ftp-short-timeout 60 \ --ftp-long-timeout 600 \ ...注意: SFTPとWebDAVのタイムアウト設定はYAML設定ファイルでのみ指定可能です。
-
インデックスファイルを使用 (スキャン時間を短縮):
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