[前に戻る: ログの取得]
[目次]
[次に進む: FTP についての問題]
PF: 性能
"どれくらいのバンド幅を PF は扱えるのでしょう ?"
"私のインターネット接続を扱うのに何台のコンピュータが必要でしょう ?"
これらの質問に対する簡単な回答はありません。いくつかのアプリケーションに対しては、
一組の良い ISA NIC を持つ 486/66 のマシンでフィルタと NAT とを 5Mbps 近い速度で
実行することができるかも知れませんが、他のアプリケーションに対しては、非常に効率的な
PCI の NIC を持つ非常に高速なマシンでさえ、結局は不十分だということになるかも知れません。
実際の質問は、毎秒何ビットなどという数字ではなく、むしろ毎秒何パケットかということと
ルールセットの複雑さに対するものでしょう。
PF の性能はいくつかの変数によって決定されます。
- 一秒あたりのパケット数。1500 バイトのペイロードを持つ
パケットに対して必要な処理量は、1 バイトのペイロードを持つ
パケットに対するものとほとんど同じ処理量となります。
一秒あたりのパケット数は、状態テーブルと、何もマッチしない場合の
フィルタリングルールの毎秒の評価量を決定し、
システムに対する要求を効果的に決定します。
- システムバスの性能。ISA バスは 8MB/sec の最大帯域幅を持ち、
プロセッサがそれにアクセスする場合に、実際にはいかに高速な
プロセッサであろうと、8MHz で実行される 80286 の効率的な速度まで
速度を落とします。PCI バスは非常に効率的な帯域幅を持ち、
プロセッサに対して、より少ない影響しか与えません。
- ネットワークカードの効率。いくつかのネットワークアダプタは、
他のものよりさらに効率的です。Realtek 8139
(rl(4))
をベースにしたカードは比較的性能が劣るのに対して、Intel 21143
(dc(4))
をベースにしたカードは非常に良い性能を持っています。最大の性能が必要なら、
実際にギガビットネットワークに接続しない場合でも、非常に優れたバッファリング性能を持つ、
ギガビットイーサネットカードの使用を検討してください。
- ルールセットの複雑さと設計。より複雑なルールセットはより遅くなります。
より多くのパケットを keep state や quick ルールによって
フィルタリングすることで、性能をより向上させることができます。
それぞれのパケットに対して評価しなければならない行が多くなってくると、
性能は低下してきます。
- わずかに言及する価値のある CPU と RAM。PF はカーネル内で処理されるので、
スワップ空間を必要としません。ですので、十分な量の RAM があれば何ら問題なく
実行可能ですし、そうでない場合には
pool(9) を消費し尽すことによってパニックを引き起こします。しかし、RAM は大量に必要とされる
わけではありません。小規模事務所や家庭でのアプリケーションには十分な量の状態である、30,000 近くの
状態を処理するのに 32MB もあれば十分でしょう。また、ほとんどのユーザは、PF を実行するシステムとして、
「再生された」コンピュータで十分以上であることがわかるでしょう。少なくとも、良い NIC と良いルールセットの
裏付けさえあれば、300MHz のシステムでも非常に大量のパケットを迅速に処理することができます。
人びとはしばしば PF のベンチマークについて質問します。重要かつ唯一の
ベンチマークは、あなたの環境におけるあなたのシステムの性能です。
あなたの環境を複製しないベンチマークは、あなたがファイアウォールシステムを
計画する上で、正確な参考とはなりません。そのための王道は、
ファイアウォールが使用するものと同じハードウェア上で
実際のファイアウォールを実行する場合と同じか、あるいは可能な限り
それに近いネットワークの状態で、あなた自身が PF のベンチマークを行うことです。
PF は、いくつかの非常に巨大な、高いトラフィックアプリケーションで使用されており、開発者は PF
の「パワーユーザ」でもあります。おそらく PF は、あなたにとっても非常にうまく動くことでしょう。
[前に戻る: ログの取得]
[目次]
[次に進む: FTP についての問題]
www@openbsd.org
Originally [OpenBSD: perf.html,v 1.12 ]
$Translation: perf.html,v 1.7 2004/01/06 11:04:24 toshi Exp $
$OpenBSD: perf.html,v 1.8 2004/02/25 18:31:45 jufi Exp $