2005年03月25日 09:23 by ELF 上鍵

Linux をルータとして使った場合、pps, fowarding 能力に影響してくる部分ってどこになるのでしょうか?

今使っている機器だと、1Gbps のネットワーク上に Xeon2.4GHzを2発積んだ Linux(kernel 2.4.26)をルータとして使った場合、1.7Mpps 程度が最大になっています。

もしかして、1Gbps 上に Linux を置いているからスイッチの能力も考えたのですが、スイッチ自体は 60Mpps とかなりお高いスイッチを使っているので、こっちの方は疑う余地は無いでした。

Linux サーバで 1.7Mpps 程度で頭打ちになってしまうため、64byte のショートパケットの場合、90Mbps 程度のルーティング性能しか発揮できなくなっています。ただ、1300byte 程度のパケットの場合、最大の 1Gbps は出ています。
多分 Linux のカーネルかNICのモジュール(Intel製ですが)が影響しているのカモと思ってもいるのですが。

Linux サーバを音声とか UDP の小さいパケットをルーティングさせるサーバとして使った場合、あまりパフォーマンスが出ないのかなぁと懸念してたりします。Advanced Router のカーネルパラメータを付与したカーネルの場合、少しルーティングパフォーマンスの向上が期待出来るような事を聞いたりしたのですが、本当なのかどうか微妙だとも思っています。

1: 口コミさん : 2005-03-25 15:04
でも、原因がLinuxルーターだけとも限らないと思う。
どんな構成で、どんな機材使っているのか、判らないから全体的に
様子見ながら、弄る方が良いと思うけど。
SWとかでも、以外に曲者が潜んでたりもしますから。
2: 口コミさん : 2005-03-25 19:02
見当違いな意見でしたら申し訳ありません。

MTUの調整などはされましたでしょうか?多分デフォルトって1500とかってなっていますよね?
3: 口コミさん : 2005-03-25 19:33
iptables を使うと、とたんにパフォーマンスが悪くなるらしいです。もし Firewall として使わず、単なるルータとして使うだけなら外してみるのも手ですね。

あとは、NIC とスイッチ間のオートネゴがうまくいっていないのかもしれません。固定に変更してみるのもよいかも?(本当か?(^^;))

kernel のパラメータを変えてみるというのもありかもしれませんね(ルータとして使う時にどれだけ効果があるのかは存じませんが)

http://www.linux.or.jp/JF/JFdocs/DSL-HOWTO/tuning.html
http://www.atmarkit.co.jp/flinux/special/proctune/proctune02c.html

一番効くのは、Kawさんが言われているようにジャンボフレームに対応させることかもしれません。

「しれません」づくしですが、ご参考になれば幸いです。
4: 口コミさん : 2005-03-25 21:28
すみませんでした、このスレに挙げている機器でテストした Linux ルータの最大性能は
169800pps(0.17Mpps)程度でした...
大体、市販のお安いルータでも 0.15Mpps 程度は出せるのでかなり少ない値ですね...


NIC <-> SW 間は 1Gbps の環境でテストしても最高速で 1Gbps は出る事は確認しています。
加えて、SW だけの性能を見た場合、64byte のパケットでも1.56Mpps(800Mbps) とかなり高い数値です。

MTUはそのまま1500で使っています。1300byte のパケットでもUDP+IP+MACヘッダを加えてMTU境界までまだ余裕があるので大丈夫と思っています。

ルータとしての性能を考えていて、pps だけをみたら 0.17Mpps の限界をどうにか突破したいとも思っています。
ちなみに、この最大ppsを出している間は、Linux のCPU負荷はXeon 2発も積んでいるのに100%に(笑
ルーティング性能自体CPUに引っ張られていると可能性が高いと思っていて、もしかしてカーネルを作り変えれば改善されるのかなと。
5: 口コミさん : 2005-03-25 21:38
カーネルパラメータで、FastRoute 機能(Linux ネットワークスイッチングとして知られています)
なる物を発見したのですが、これを使って pps の向上を図れるのかなぁ。
6: 口コミさん : 2005-03-26 04:17
ネットワークトレースは調べました?
(SWは高いものほど設定にうるさかったりしません?)

CPUの他にもメモリ、ディスクI/OやネットワークI/Oは
どんな感じに使われているでしょうか?
(CPUのSYS,USR,BUFFは?)

CPUは2つとも100%でしょうか?

カーネルやルーティングソフトの設定が完璧な状態で
CPUネックが発生しているのであれば、CPUを増設する
以外に。。。
7: 口コミさん : 2005-03-26 04:52
駆け出しの通信屋ですが、

1.オートネゴはうまくいっていると予想されます。
これが失敗している場合、一切の通信ができなくなりますゆえ。

2.一般PC用のNICは、負荷が最大値の30%を超えると、
(1000BASE-Xの場合、300Mbps)
パケットロスが始まると聞いたことがあります。
スイッチ/ルータ専用のNICや、アナライザ専用のNICはこの限りではないようですが。

3.MTUは、MACヘッダとCRCを除いたパケット長を見ますので、
ジャンボフレームを使わないイーサネット環境であれば、
1500のままで問題ないでしょう。

4.NICやOSのフレーム処理能力は、フレーム長によって異なるため、
ppsの値は、異なるパケット長のフレームが混在する環境だと
あまり参考にならないかもしれません(汗)。
bpsで測定できるのなら、そちらのほうがよろしいのではないかと思います。

5.フレーム長によっては最大スループットが出ているため、
ハードの内部バス構造はおそらく関係ないでしょう。

私Linixは詳しくないのですが、
実行中プロセスの一覧を表示して、
各プロセスのリソース使用量をチェックできないでしょうか。
あとは各プロセスの役割を調べれば、
どこがボトルネックになっているのかある程度わかるのではないかと。
8: 口コミさん : 2005-03-26 09:27
e1000なのだと思いますが、NAPIは有効になっていますか?
2.6系だとどうでしょう?
9: 口コミさん : 2005-03-26 09:57
そーいえば、2.6系だとSMPの改善が図られているから、効果大きいかも。
10: 口コミさん : 2005-03-26 20:42
"Linux"ルーターと何度もかかかれてますが、他の OS (FreeBSD, Windows など) とは比較検討されてますか?

「市販のお安いルーター」といっても専用ハードですから、それと汎用ハードと比較することに意味があるとは思えません。汎用ハードで同じ性能を出すのに 10 倍コストがかかっても、なんら不思議ではありません。

# まぁ、改善の余地はあるとは思いますが
11: 口コミさん : 2005-03-27 07:20
テスト環境としては以下です。



SW(Foundry製 48G L2SW)
   |
 ----------
 |    |
Linux A Linux B
 |    |
  --NXS---

NXSは一般的によくルータの試験とかネットワーク試験で使うSmartBitsとかと同等の箱ですね。
ルーティングと言うよりはフォワーディングの性能と言っても良いかと。

ボトルネックとしてはメモリとIOについては考えていないのですが、考える必要アリでしょうか。
ルートテーブルの増加に従ってメモリの消費量は増大しますが、上記の環境では2個だけなのでメモリの影響はまず無いと思っています。
CPUの負荷はLoadAVGは常に1で、top の値はちょっと忘れましたが...SYSが結構高かったのを覚えています。
パケットのルーティングはCPU&メモリがボトルネックで、フォワーディングはCPU依存と思っているので、CPU増設は考えてもいます。

Kernel は 2.6系にすれば pps の向上は見込めると思っていますが、2.6系のカーネルにはファイルシステムで相当痛めつけられたので(笑)
2.6.11でも運用or実装にはまだムリだと思っています。

他のOSとの比較は考えていません。
巷にあるLinuxを積んだルータが市販されてますが、そうゆうルータの場合、かなりの性能が出るんですよねぇ。何が違うのかイマイチ分からないんですが。
ルータでの性能比較する場合って、帯域(bps)よりもppsとかfpsの方が普通ですよね。フレーム長がいかなる場合でも、0.17Mppsなのでパケ長が可変の環境でも同様な値であると期待しています。
実際NXSでテストした場合、ランダムなパケ長でも同様のppsでした。
12: 口コミさん : 2005-03-27 10:43
CPUが2個なのにLoad Averageが1.0なら、負荷率は50%ですね。

Kernelやドライバ読んでないから外れかも知れませんが、フォワーディングがマルチスレッド化されてないのだろうと推測します。これではCPU増設には効果がないと思いますよ。

個人的にはバスボトルネックの方がありそうな気がします。たとえばNICを2枚とも32bit/33MHz PCIで動かしちゃってるとか....ISAとか(笑)
13: 口コミさん : 2005-03-27 11:19
>ボトルネックとしてはメモリとIOについては考えていないのですが、考える必要アリでしょうか。

NICとCPUの通信は立派なI/Oですし、パケットの内容も一旦メモリに書き込まれますんで、十分考慮する必要はあるのでは…

私の個人的な経験では、LinuxよりはBSDのほうが、
IA32よりはRISCな商用UNIXハードの方がルータとしての性能はいい感じがします。
14: 口コミさん : 2005-03-28 04:47
バスについては大丈夫です。64-bit 133/100MHz PCI-X を使ってますね。

うーん、色々ありましたが、カーネルを読んでみなければよく分からないと言った所でしょうか。
自分的には、カーネルオプションの追加で同様に Linux ルータの性能向上を図れりしたような事があったりしたら良いなぁ、なんて思ってたりもしたので。
ルートテーブル自体については、2.4系では4万ルートがほぼ性能的な限界と、昔どっかの記事で読んだ記憶はあったのですが、pps についてはなかなか関連記事とか無いですねぇ。

パケサイズの大小に関わらず、ある pps で限界が来るという事は何かカーネルのプログラム的な問題、もしくは機械的な問題のどちらかですかねぇ。
最近コード読み書きしてないし、久々のカーネルへの誘いっすね。
15: 口コミさん : 2005-03-28 07:10
明日からまた会社で色々テスト&検討してみるです。

また何か判明したらageます。
皆さん、ご意見ありがとうございました。
16: 口コミさん : 2005-03-28 18:36
とりあえず CONFIG_IP_ADVANCED_ROUTER は、複数 routing table とか packet marking とか、機能の追加オプションのはずなので、routing 性能は落ちる事はあっても上がる事はないと思います。逆に必要の無いものをひたすらそぎ落すと、少しは速くなると思いますが、気休め程度の性能向上しか得られないと思います。

やはり他の BSD 系OS、Solaris for x86、Windows 等との比較検討が、ハード的な問題かどうかの推測への手がかりになると思います。
17: 口コミさん : 2005-03-29 00:31
CONFIG_IP_ADVANCED_ROUTERはルータ用の追加メニューが増えるだけでそれそのものはコードには何ら影響を与えません。

スレッド一覧

【求人】港区でのお仕事です【時給1700円以上】 【急募・東京】プログラマー&デザイナー Ubuntu11.10でバッファローNASLS-V2.0TLを使いたい crontabでcommandを5秒単位で指定する方法を教えてください メールサーバ、明日お昼まで受付。ご教示ください&疑問お答えします。sendmailをマスターしたい。 Linux Fedora Core4マニュアル USBメモリからブートする方法 MTA(ウィルス対策付き)のテスト方法について ICMP Destination host administratively 真剣に聞きたいのだが、Ubuntuの何が良いの? FMV-BIBLO LOOX P70でタッチパネル成功した方 OSのリストア syslog-ngってロストしますか? HDDから情報の救出。助けてください。 [Q] bdflushの設定値について 質問: egrepにおける正規表現の記述 inodeを増やす方法 セキュリティについて CDからの曲の取り込みとその管理、視聴 FedoraCoreファンの集い VMware Workstation v6.0の使い方 Ruby on Rails 現場ノウハウ講座(β) ネットをするための設定は?><) gcovとlcovについて。 教えてください。 RAIDが壊れたとき ffmpegをインストールしようとするとエラーが発生します。 無線Linux考 内部向けDNS設定 日本語がCUI画面で文字化けします。 「YouOS」というものについて Linuxが動くノートPCを教えてください HHKBの相性 情報源 サーバ構築時のソフトウェアインストール Ubuntuでネット How to? diffコマンドで,連続行の変更を1行ずつ取得する方法 ロシア、リナックス基盤に国産OS開発へ zenwalk linux 使っている人いますか? Linux Mint ネットブックで自宅サーバやってる方いませんか? 参加者を募集しています。 EeePC 4GのSDカードに linuxディストリビューションの種類・特徴・メリット・デメリットを教えてください アシスタント求人募集 fedoraネットワーク リモートデスクトップについて SLAX-6rc6の日本語化 シェルスクリプトを使ったsftp接続 中古のパソコンに入れるなら Mplayerのインストール ウィルス対策 vmwareにインストールしたCentOSをteratermで操作するやり方 ビジネスにおけるLinuxの未来をは・・・? Hackの内容、ご教授願いたい。 linuxっていろいろあるけど Windowsユーザーの初Linuxはどれが? NFS について パソコンの名前 Linux のための Google Earth はじめましてぇ〜! 「run-crons」について教えてください。 プリンター/スキャナー Linux でも動く mpeg4 H/Wキャプチャボックス はじめまして。 TUXくんグッズ デュアルモニター coLinux Linuxを使った便利システム XMMSって… Linuxデスクトップでウイルス HP のマルチユーザー PC LinuxWorld Expo/Tokyo 2004 Oracle Linux最強説 fedora 12にてインターフェースの設定 http://xx.xx/cgi-bin/x.prgでCGIプログラムを実行したい。 Couch DBの入門書 著者求む 【質問】 Ocsigen のインストール方法 画面に何も映らない。セーフモード Xenの管理OSでアプリケーションをの動かしてもいい? LPIC試験への道。 fedora7インストールについて Fedora8の設定について教えてください。 Quad Coreでのパフォーマンス 技術者を急募しています。 仕事。 Linuxで使うアプリは? 救ってください <質問>デスクトップでエラー ASUS M6R 740 NOTEBOOK に相応しいLINUX? linuxは重たい?>WinXP 初心者向け研修―Red Hat社のトレーニングってどうでしょう? パーティションを切る 今月のWindows系や自作DOS/V機系の雑誌にKNOPPIXのCDが付いてますね(^_^)。 自宅サーバが進入されました。 /dev/memって Xbox Linux fedoraがフリーズします for文について サーバエンジニア募集中! 新しいインターフェースが設定できない Slackware13.0のcifsでマウントしたファイルシステムの上でコンパイルしようとするとリンクに失敗する Linux の良さ おすすめ書籍を教えてください オープンソースの先駆けと対NDS宣戦布告 kernel hackに関する質問 #0x00 USBフラシュメモリーにLiveCDのLinuxを入れて持ち運ぶ rootからuserに戻る方法? Linux 標準バンドルされている 暗号化ライブラリを教えてください linuxとwindowsの狭間で 京都Linux友の会 linuxで1を変数01に変更して変数に格納する方法について。 モジュールとドライバの違いは? SSLの設定方法について Knoppixをインストールしたい。 漢字をかな変換するコマンド 【ノートPCで】タッチパッドが動かない!!HP 500 Notebook PC【LINUXを稼動♪】 usermodなどの使い方を教えてください。 ファイル特定の文字の出力方法に関して。 UbuntuでのWLI-U2-KG54使用について PlayStation Linux Users Group(PSLUG) のコミュニティを立ち上げました。 linux超初心者です。 time 複数コマンド 無線LAN環境は? おしえてください Linuxはじめてみようと思ってます。 一番、サーバーに向いているディストリってなんですかね? LINUX関連の本、サイト さしあげます パーミッション、所有者のバックアップ Linuxルータ オープニングパーティはいつですか? Kobo Touch と、その拡張性について質問 はじめまして &#32418;旗 Linux 。。。???  会社や学校で使っている環境は? リスク管理 【求人】 Linuxサーバ・ネットワーク管理者急募! NFSで &quot; No such file or directory&quot;が発生する メモリー128MBのノートパソコンにでインターネットに接続したい。 どーすれば!? [Q]Canon LBP5100を使う WebSphere Application Server のインストール方法 複数台のNFSサーバーを自動的にマウントしてくれるソフトウェアってありますか? delegate 無線LAN(bcm43xx)使えたのに災難?ログの山 mysqlのインストールについて。 linuxをyahooBBでインターネットをするには? IDE Microsoft と Novell の提携 Fedora Core5 「コミュニティ利用で気をつけてほしいこと」を掲載しました 初歩的な事なのでしょうが apache LinuxとEMT64 スクリーンセーバ 自宅鯖に使えるUPS デュアル CPU の功罪 Open Source Conferlence 2004 SELinux勉強会(4/17・渋谷) Cloud話よろず Cron Jobが実行されない 初心者用のくだらない質問トピック #3 mozc(モズク)コミュ作成しました sk_buffのh.rawって何を表していますか? DNS 皆さんは日本語入力メソッドに何使っていますか? shell作成で悩み あるユーザだけ作成できても、SSH/FTP/SFTPできない。 vsftpd topについて apacheが起動しているか確認するコマンドについて sshをパスワードなしでログインする おすすめの本ってありますか? SUSEについて 初心者用のくだらない質問トピック WEBカメラを設定しWebで公開したい rootで入れないみたいです。。 Libretto L1にturbolinuxFUJIをインストしたい NFSサーバーでCommitted_ASが日に日に増えていく smtpfeedの設定 Linuxで無線LANを使いたい TIPS 大量のファイルを保存するNFSサーバーに最適なファイルシステム Linuxリモートインスト無償配布 Grubについて教えてください。 zxLinux 苦労人志向 インストール時の設定 gentoo powerPCG4へLinuxのインストールについて質問 Open sourceについて。。。。 HDDベンチマーク 輸入ノート売ってるような店 音ユースにグッドなLinux向けノートって? mountする方法 クールに冷えるCrusoe! なサーバー on Linux REVOLUTION OS Linux World C&D/Tokyo 2004 レポート 5/4 『Linux ユーザーグループ北陸 勉強会』のご案内 初心者用のくだらない質問トピック #4 Linux デスクトップの普及#2 LPIC CentOSでのVASPのビルドについての質問。 TurboLinux 11Server SVNのインストール TurboLinux 11 Server (Musasabi) で PostgreSQL 教えてください openssl remove.....復旧 暗号化DVDの作成方法 Linuxトラブル・・・ ブート時:TUX君の数? 課題投稿 オリジナルディストリの作り方をご存じの方ご教授願います ブートLinuxでVistaの修復の仕方は? 読まれている雑誌 Linuxを前提としたパソコン購入 アナログビデオが一杯 愛用のLinuxは? 質問です。 Active Sync Linux Ubuntuのフリーズについて PC版i386vineをインストールしてサーバ運用したいです。 グラフィックボードが合わない件について ネットワークについて 教えてください UW-IMAPの情報・・ XglとAIGLXって凄そう!試した? Linuxを使う理由 アドレスにアンダーバーがあるとsendmailがメールを送れない? WinXPとのデュアルブート tarの脆弱性 Linuxをwebサーバとして利用する際のハードのスペック 【質問】 デュアルブート環境下で同時起動 kernel-2.6.13.X でのリブート LW2005 Virtual PC 2004上でFedora Core 3は動くの?? UNIXとの違いって? 初めまして NFS Mountの設定ヘルプ - Fedora 16 Pidginのプラグイン作成方法について (TωT)パソコンの選び方?? TeraTermでデータベースをみる方法 インストールについてです おすすめのセミナー 初心者用のくだらない質問トピック #2 B フレッツ インターネットの接続方法がわかりません slewモード LinuxとFOMA a2502k… Linuxのすばらしさ Linuxを何に使ってますか? 【質問】FlowScan をインストールしたい You tube downloder for Ubuntu NFSのチューニングについて USBフラッシュメモリ usb接続HDを2つ接続したときのデバイスファイルの固定について netscapeを使えるようにしたい。 OS選択の悩み:Windowsは必要か? マルチコアCPUに最適化されたLinuxはありますか? 統合開発環境ってありますか? LPICレベル1最新書籍情報について lsコマンドでワイルドカードが効きません。 一番軽いGUI環境 Novell xgl Linuxが使えるネットワークエンジニアとは? Linux 派国会議員 x-windowログ 私がお勧めするLinux便利機能! Windows用無線LANカード Linuxを使いはじめた時”すげー”と思ったところ nfsrootでpam失敗? Linux始めるなら もっとも安価で電気代の安いサーバ Yellow Dog Linux 【愛知、常駐プログラマ募集】 [Q]GPLの解釈について(ソース開示の必要性) Linux デスクトップはこんな感じです! gvでpdfを表示する方法 日本でVPS (英語 - English) ロードアベレージ CPUの可能性 ご教示下さい DellからLinuxプレインストールマシン発売 fedora9日本語入力メソッドのインストールに悪戦苦闘中です。 おすすめを問います。 samba共有ファイルの更新日時について LPIC試験勉強に最適なディストリビューションを教えてください。 CPUの増設方法 PDFファイル上で動画再生 Linuxのコマンドで 監視ツールの導入・運用 MacintoshにLinuxを入れたい SATAの対応は? Linus Torvalds、Macにスイッチ! GNOME vs KDE 皮を剥いで見る?!。 タブレットの設定変更について ☆教えて☆Linuxをマスターしたい Linux/Unixの経験を活かして海外で働きませんか? 急成長中のベンチャー企業で働いてみたいとおもいませんか?! 探してます Linux デスクトップの普及 ■お仕事(=転職)案件のご相談です■ 問題集につきまして Linuxのあるべき姿と今後の未来像 SSH鍵認証 Lpicレベル1の講習 教えてください git Turbolinux Fuji install 弐萬圓PC堂? Powered by Linux ファイルシステムについて 転職希望者の方!! suidについて MXレコードの解決ができず、メールが外部から送受信できません。。 CentOS5.2&#043;openssh5.0pでchrootできる?? sendmailのaliasについて Linus さんち eth0、eth1の呼び方 教えてください。 Squidで/etc/hostsの定義で自分自身を指定した場合 教えてくださいFlashplayerのPlug-inの方法を くだらない質問かもしれませんが… ez-ipupdate-3.0.11b7のインストールがうまくいきません maildropの入門書 kernel panic でサーバが止まってます。 f77 ご教授お願いします。 CentOS vs Fedora Core 初めまして 外付けHDD 質問 rpm パッケージの分解 Hadoopのクラスタ化について Hadoopについて pidからstatusを得るAPIって有りますか? ●格安IT塾開校★講師は東大卒! オープンソースOSのTorrentサイトを公開しました。

サイト内検索