アクセス制御を処理するためにgitoliteのようなものを使用している場合、authorized_keysはどれだけうまく拡張できますか?50,000人のユーザーがパフォーマンスがどのようになるかを言った場合の意味です(あまり良くないと思います)。代替手段は何ですか?
更新: 私は自分でいくつかのテストを行うことにしました(そもそもこれを行うべきでした)。SSHキーを生成し、それらをauthorized_keysファイルに追加する簡単なスクリプトを作成しました。私のコンピューターはそれほど高速ではないので、8,061個のキーを生成し、最後に自分のキーを追加しただけで、ファイルは3.1MBになりました。次に、1つのファイルでgitリポジトリを追加し、git cloneを3回実行しました。
With 8,061 keys (Mine is at the end of the file)
real 0m0.442s
real 0m0.447s
real 0m0.458s
With just a single key:
real 0m0.248s
real 0m0.264s
real 0m0.255s
パフォーマンスは思ったよりもはるかに優れています。私は、50,000以上の大きなキーグループに対してより高速で効率的な代替案に今でも非常に興味があります。
1人のサーバーに対して50000人の擬似ユーザー、または散発的なアクセスを持つ合計50000人のユーザーを期待していますか?
—
Mxx
散発的なアクセス。ログインごとに50,000個のキーを持つauthorized_keysファイルを検索する必要があるSSHサーバーのパフォーマンスについて質問しています。
—
ジェレミー
authorized_keys
50kキーのファイルは約25MBです。確かに、ファイルシステムのバッファーに完全にキャッシュされます。ファイル内のキーを見つける時間は、ユーザーを認証するためにそのキーを実際に使用する時間よりも短くなると思います。