Netatalk 4.5.0
名前
afp_speedtest — シンプルなAFPファイル転送ベンチマークツール
概要
afp_speedtest [-1234567acDeiLTVvy] [-h host] [-p port] [-s volume] [-P path] [-S volume2] [-u user] [-w password] [-n iterations] [-W warmup] [-t delay] [-d size] [-z sizes] [-q quantum] [-r requests] [-F file] [-f test]
説明
afp_speedtest は、読み取り、書き込み、コピー、またサーバーサイドコピー操作のための AFP ベンチマークテストスイートである。 2つのモードで動作できる:
- AFPモード(デフォルト):ネットワーク上のAFPプロトコルのパフォーマンスをテストする
- ローカルモード(
-L):POSIXシステムコールを使用した直接ファイルシステムI/Oのベンチマーク
このツールは、包括的なパフォーマンス分析をサポートしている:
- 複数の反復テストとウォームアップラン
- 統計分析(平均、中央値、標準偏差、パーセンタイル)
- ファイルサイズのスイープテストで、異なるファイルサイズでのパフォーマンスをテストする
- TCPネットワークメトリクストラッキング(AFPモードのみ)
- CSV出力形式でデータ分析
オプション
-1 : AFP 2.1プロトコルバージョンを使用する
-2 : AFP 2.2プロトコルバージョンを使用する
-3 : AFP 3.0プロトコルバージョンを使用する
-4 : AFP 3.1プロトコルバージョンを使用する
-5 : AFP 3.2プロトコルバージョンを使用する
-6 : AFP 3.3プロトコルバージョンを使用する
-7 : AFP 3.4プロトコルバージョンを使用する
-a : 書き込み後にディスクにフラッシュしない
-c : CSV出力モード(自動的に統計と静かなモードを有効にする)
-d size : ファイルサイズ (MB、デフォルト: 64 MB、指定しない場合はデフォルトのサイズスイープ)
-D : ローカルモードでO_DIRECTを無効にする(現実的なAFP比較のためにデフォルトで自動的に有効) : カーネルページキャッシュを使用してバッファードI/Oパフォーマンスをテストするためにこのフラグを使用する : AFPモードでは無視される(O_DIRECTは適用されない)
-e : スパースファイルを使用する
-f tests : 実行するテストのカンマ区切りリスト:Read、Write、Copy、ServerCopy(デフォルト: Write) : 注意:ServerCopyはAFPサーバーが必要なため、ローカルモードでは自動的にスキップされる
-F ファイル : ボリュームのルートフォルダ内の既存のファイルから読み取る(デフォルト: 一時ファイルを作成する)
-h host : サーバーのホスト名またはIPアドレス(デフォルト: localhost、ローカルモードでは無視される)
-i : 対話型モード – 各テストの前にユーザーにプロンプトを表示する(デバッグ専用)
-L
: ローカルモード – AFPプロトコルの代わりに直接ファイルシステムI/OのためのPOSIX呼び出しを使用する
: ディレクトリパスを指定するために-Pと組み合わせて使用する必要がある
: ネットワーク/プロトコルのオーバーヘッドなしのベースラインパフォーマンス測定を提供する
-n 回数 : 実行するテスト反復回数(デフォルト: 1) : 1より大きい場合、自動的に統計出力を有効にする
-p port : サーバーポート番号(デフォルト: 548、ローカルモードでは無視される)
-P path
: ローカルモードテスト用のディレクトリパス(-Lを使用する場合に必要)
-q size : パケット/バッファサイズ(KB、デフォルト: AFPモードでは検出されたサーバー量子、ローカルモードでは1024 KB)
-r number : 並列I/O操作のための未処理のパイプライン化されたリクエストの数(デフォルト: 1) : より高い値は、複数の進行中のAFPリクエストを許可し、高遅延接続でのスループットを向上させる : 注意: 値 > 1 は慎重なチューニングが必要であり、すべてのシナリオで利益があるとは限らない
-s volume : テスト用にマウントするボリューム名(AFPモードのみ、ローカルモードでは無視される)
-S ボリューム名 : テスト用の2番目のボリューム名(AFPモードのみ、クロスボリュームコピーのテスト用)
-t seconds : テスト反復間の秒数での遅延(デフォルト: 0) : 反復間のクールダウンや実際の使用パターンのシミュレーションに便利
-T : 統計を表示する(平均、中央値、標準偏差、最小、最大、P95) : 反復回数 > 1 またはサイズスイープを使用する場合に自動的に有効になる
-u user : AFPサーバーの認証用のユーザー名(デフォルト: 現在のuid、ローカルモードでは無視される)
-v : 詳細出力
-V : 超詳細出力
-w password : AFPサーバーの認証用のパスワード(ローカルモードでは無視される)
-W warmup : 統計から除外されるウォームアップランの数(デフォルト: 1) : ウォームアップランは [W#] プレフィックスでマークされ、統計には含まれない
-y : 実行ごとに新しいファイルを使用する(デフォルト: 同じファイル名を再利用)
-z sizes
: ファイルサイズスイープモード – MB単位のサイズのカンマ区切りリスト
: 例: -z 0.004,0.008,0.016,0.032,0.064,0.128,0.256,0.512,1,2,4,8,16,32,64,128,256,512
: 最小: 0.004 MB (4 KB)、最大: 1024 MB
: -dも-zも指定されていない場合、デフォルトの18サイズスイープを使用: 4KB,8KB,16KB,32KB,64KB,128KB,256KB,512KB,1MB,2MB,4MB,8MB,16MB,32MB,64MB,128MB,256MB,512MB
設定
テストランナーの AFP クライアントは現在 ClearTxt UAM のみをサポートしている。netatalk の afp.conf で UAM を設定する。
[Global]
uam list = uams_clrtxt.so
出力モード
テキストモード(デフォルト)
以下を含むフォーマットされたテーブルを表示する:
- 各反復のタイミング結果とスループット
- 統計サマリー(有効な場合)
- ネットワーク/TCPメトリクス比較テーブル(AFPモードのみ)
- ファイルサイズパフォーマンスサマリーテーブル(サイズスイープモード)
- TCPメトリクスの進化テーブル(AFPモードでサイズスイープ)
CSVモード(-c)
データ分析のための3つのCSVテーブルを生成する:
- テストデータテーブル: 個々の反復結果(test_name、iteration、file_size_mb、microseconds、throughput_mbs)
- ファイルサイズサマリーテーブル: ファイルサイズごとの集計統計(平均、中央値、最小、最大のスループットとタイミング)
- TCPメトリクス進化テーブル(AFPモードのみ): すべてのテストにおける初期 vs 最終 TCP メトリクス
例
AFPモードの例
4つのAFPベンチマークテストを5回の反復を実行する:
afp_speedtest -h 10.0.0.10 -s speed1 -u myuser -w mypass -n 5 -f Read,Write,Copy,ServerCopy
64 MB の書き込みテストを一回実行する:
afp_speedtest -h 10.0.0.10 -s speed1 -u myuser -w mypass -d 64 -f Write
ファイルサイズスイープを実行し、サイズごとに10回の反復を行い、CSVにエクスポートする:
afp_speedtest -h 10.0.0.10 -s speed1 -u myuser -w mypass -n 10 -c -f Read,Write > results.csv
ローカルモードの例
ベースラインのファイルシステムパフォーマンスを5回の反復で測定する:
afp_speedtest -L -P /mnt/fast_disk -n 5 -f Read,Write,Copy
ローカルモードでカスタムファイルサイズスイープを実行する:
afp_speedtest -L -P /tmp/test -z 1,4,16,64,256 -n 3 -f Read,Write
ローカルモードでバッファードI/O(O_DIRECT無効)とCSV出力を使用する:
afp_speedtest -L -D -P /mnt/nvme -c -n 10 -f Read,Write > nvme_buffered.csv
ローカルモードでO_DIRECT(デフォルト、AFP比較用)を使用する:
afp_speedtest -L -P /mnt/nvme -c -n 10 -f Read,Write > nvme_direct.csv
出力の例
AFP Speedtest - Configuration
════════════════════════════════════════
Mode: Local (Direct Filesystem I/O)
AFP Version: N/A (Local)
Directory: /tmp/speedtest
Tests: Read,Write,Copy
File Size: 64 MB
Iterations: 5
Warmup Runs: 1
Statistics: Enabled
===== Test Passes for Read =====
Read quantum 1024 KB, size 64 MB
Warmup: 1 runs, Measured: 5 runs
run microsec MB/s
[W1] 11739 5451.91
1 9511 6729.05
2 9700 6597.94
3 9174 6976.24
4 8949 7151.64
5 9050 7071.82
===== Statistics for Read =====
File Size: 64 MB
Iterations: 5
Mean: 9277 μs (6898.93 MB/s)
Median: 9174 μs (6976.24 MB/s)
Std Dev: 284 μs (3.06%)
Min: 8949 μs (7151.64 MB/s)
Max: 9700 μs (6597.94 MB/s)
関連項目
afp_lantest(1), afpd(8)