LightFileの実行時間を予測するため、様々な条件で実行時間を計測したレポートを掲載します。

前提条件

実行環境およびネットワーク環境

次の環境について、単独または外部接続によりプログラムを実行しました。

名称 用途 ネットワーク/ホスティング CPU メモリ ディスク OS
PCサーバ A LightFile オフィス内LAN 1000BASE-T Intel Core i5 2.8GHz 4コア 16GB SSD Ubuntu 18.04 64bit
PCサーバ B FTPサーバ オフィス内LAN 1000BASE-T Intel Xeon E3-1220 3.10GHz 4コア 16GB SSD Ubuntu 18.04 64bit
VPS A LightFile/FTP ConoHa VPS 2GBプラン vCPU 3コア 2GB SSD Ubuntu 18.04 64bit
EC2 A LightFile Amazon EC2 t2.small vCPU 1コア 2GB EBS 汎用 Amazon Linux 2 64bit
EC2 B FTP Amazon EC2 t2.small vCPU 1コア 2GB EBS 汎用 Amazon Linux 2 64bit

LightFileのバージョン

  • LightFile Command 3.5.0
  • Linux 64bit

データセット

  • Jpeg 10,000ファイル
  • 総容量 約3.2GB LightFile実行後 約1.0GB (-68.4%)

その他

  • ファイルエラーのリトライは行わない

同一ファイルシステムでの実行

同一サーバー上に存在するJpeg 10,000ファイルに対する実行時間です。

実行環境 CPUコア 初回実行 1回目スキャン 2回目スキャン 3回目スキャン
PCサーバ A 4 34分44秒 0.21秒/ファイル 11秒 10秒 10秒
PCサーバ B 4 24分32秒 0.15秒/ファイル 8秒 6秒 5秒
VPS A 3 37分27秒 0.22秒/ファイル 13秒 10秒 9秒
EC2 A 1 1時間27分7秒 0.52秒/ファイル 13秒 11秒 7秒

十分なメモリがある場合は、処理時間はCPUコア数の影響を大きく受けます。

差分ファイルの確認スキャンは短時間で完了します。

FTP経由での実行

LightFile FTPサーバ ネットワーク 初回実行 1回目スキャン 2回目スキャン 3回目スキャン
EC2 A EC2 B Amazon VPC 2時間4分24秒 0.75秒/ファイル 1分51秒 1分45秒 1分48秒
VPS A EC2 B インターネット 56分39秒 0.34秒/ファイル 12分48秒 13分27秒 12分51秒
PCサーバ A PCサーバ B LAN 1000BASE-T 45分55秒 0.28秒/ファイル 1分57秒 1分53秒 1分54秒

初回実行はCPUコア数とネットワークのスループットに影響を受けます。差分ファイルのスキャンについてはCPUの性能はほとんど関係なく、ネットワークのスループットに影響を受けます。

1000BASE-Tで接続されたLAN内でのスキャンより、AWSの同一VPCサブネットにあるEC2同士のスキャンの方が高速でした。

インデックスファイルによるスキャン

LightFileコマンド 3.5.0から搭載されたインデックスファイル方式により、スキャンがどのくらい高速になるかを比較したベンチマークです。インデックスファイル方式について詳しくはこちらを参照ください:LightFileコマンド » FTPスキャンを最も高速化

LightFile FTPサーバ ネットワーク FTPスキャン平均 1回目スキャン 2回目スキャン 3回目スキャン インデックス作成
EC2 A EC2 B Amazon VPC 1分48秒 10秒 10秒 9秒 0.446秒
PCサーバ A PCサーバ B LAN 1000BASE-T 1分54秒 12秒 10秒 10秒 0.490秒

いずれのケースも約10倍スキャンが高速になり、同一ファイルシステムのスキャンと同等のスピードになりました。