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倍スキャンが高速になり、同一ファイルシステムのスキャンと同等のスピードになりました。