Linux ベースのシステム (具体的には、Ubuntu Server 8.04) で、ユーザーごとにダウンストリーム帯域幅を測定するにはどうすればよいでしょうか? 別のプロセスを実行してその出力を解析する代わりに、データを直接提供するメソッドが最適です。ユーザーごとに1つのiptablesフィルターを設定し、定期的にカウンターをチェックすることにより、ユーザーごとのアップストリーム帯域幅を測定する手法がありますが、これはダウンストリーム接続ではサポートされていないようです。プロセスにルーティングされます。
[edit 20080916 153434 EST]
「ユーザーごと」とは、システム上の文字通りのアカウントを意味します。つまり、実際に実行中のプロセスを所有する実際の POSIX UID を持つアカウントです。したがって、Ubuntu Server 8.04 の場合、測定値にはroot
、www-data
、自分のアカウントなどの値が含まれます。