[FreeBSD-users-jp 90220] Re: PE850 network performance
渡辺一寛です。 At Thu, 14 Dec 2006 22:08:06 +0900, Kazumaro Aoki wrote: KB/sec 47691.13 FreeBSD/amd64 5.5R 59867.12 FreeBSD/amd64 7-CURRENT (06/12/14) 60824.50 FreeBSD/amd64 6.2-PRELEASE 61461.78 FreeBSD/i386 5.4R 115018.65 Fedora6/x86_64 115004.92 SuSE10.6/x86_64 2台のPowerEdge 850をswitching HUBで接続してttcpを用い次のoptionで計り ました。 ttcp -r -s -v ttcp -t -s -b 131072 -n 65536 -v HOST PowerEdge 850のnetwork controllerはBCM5721で、bgeで認識しています。 FreeBSD5.4R/amd64のbge0の認識メッセージは次の通りです。 bge0: Broadcom BCM5721 Gigabit Ethernet, ASIC rev. 0x4101 mem 0xfe8f-0xfe8f irq 16 at device 0.0 on pci4 miibus0: MII bus on bge0 brgphy0: BCM5750 10/100/1000baseTX PHY on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto FreeBSD7-CURRENT/amd64のbge0の認識メッセージは次の通りです。 bge0: Broadcom BCM5750 B1, ASIC rev. 0x4101 mem 0xfe8f-0xfe8f irq 16 at device 0.0 on pci4 miibus0: MII bus on bge0 brgphy0: BCM5750 10/100/1000baseTX PHY on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto 同じbgeでも、BCM5702を載せているマシンでは、FreeBSD5.4R/amd64で、上の SuSE Linuxの様なほぼ理論性能が出ているので、何が原因か悩んでいます。 freebsd-net メーリングリストに流れたパッチはどうでしょう。 http://lists.freebsd.org/pipermail/freebsd-net/2006-November/012389.html あるいは、ポーリングモードを試してみるとか。 --- Watanabe Kazuhiro ([EMAIL PROTECTED])
[FreeBSD-users-jp 90221] Re: ports の make config 画面と tee の衝突
ikesanです。 On Sat, 16 Dec 2006 19:21:19 +0900 ikesan [EMAIL PROTECTED] wrote: (jless で前方スクロールができないのは別の問題でしょうね。新しい環境なので どこかに設定ミスがあるんだろうと……) 気になったので、調べてみました。 jless -r LOG としたときの画面スクロールですが、 端末出力の記録が入っているログファイル↑↓のカーソルキーが効かない 端末出力の記録が入っていないログファイル ↑↓のカーソルキーが効く # pkg_info | grep less ja-less+iso-382.258 Less + zcat + ISO-2022 - a pager similar to more and pg # uname -r 6.1-RELEASE です。 一つ解決したと思ったのですが新たな問題点が…… 比較しましたのは ports/www/nvu config option あり ports/www/bluefishなし です。
[FreeBSD-users-jp 90222] Re: PE850 network performance
From: Watanabe Kazuhiro [EMAIL PROTECTED] Subject: [FreeBSD-users-jp 90220] Re: PE850 network performance Date: Sat, 16 Dec 2006 21:52:40 +0900 KB/sec 47691.13 FreeBSD/amd64 5.5R 59867.12 FreeBSD/amd64 7-CURRENT (06/12/14) 60824.50 FreeBSD/amd64 6.2-PRELEASE 61461.78 FreeBSD/i386 5.4R 115018.65 Fedora6/x86_64 115004.92 SuSE10.6/x86_64 ttcp -r -s -v ttcp -t -s -b 131072 -n 65536 -v HOST FreeBSD7-CURRENT/amd64のbge0の認識メッセージは次の通りです。 bge0: Broadcom BCM5750 B1, ASIC rev. 0x4101 mem 0xfe8f-0xfe8f irq 16 at device 0.0 on pci4 同じbgeでも、BCM5702を載せているマシンでは、FreeBSD5.4R/amd64で、上の SuSE Linuxの様なほぼ理論性能が出ているので、何が原因か悩んでいます。 freebsd-net メーリングリストに流れたパッチはどうでしょう。 http://lists.freebsd.org/pipermail/freebsd-net/2006-November/012389.html 早速のコメントありがとうございます。 7-CURRENT(src/sys/dev/bge/if_bge.c,v 1.163 2006/12/13 21:13:09)に対し て、そのままpatchを当てたらrejが出来たので、手動で当て直しました。 それを試したところ、誤差程度の変化しかありませんでした。 あるいは、ポーリングモードを試してみるとか。 早速7-CURRENTのkernel config fileに optionsDEVICE_POLLING を追加してkernelを作り直して実験したところ4KB/sec程度にperformance が落ちました。その後、 kern.polling.reg_frac, kern.polling.user_frac, kern.polling.each_burst, kern.polling.burst_max をいくつかいじって試したのですが、いじる前よりは速くなりましたけど、 ifconfig bge0 -pollingの時より速くなるパラメータは見つけられませんでし た。 引続き情報をお待ちしております。 bgeでもちゃんと11KB/sぐらいamd64 PCがあることから、もしかしたらbge が遅いのではなく、busのdriver周りに問題がある可能性を考えています。 11KB/sぐらい出るPCはPCIで、今回のマシンはPCI Expressということから、 PCI ExpressのFreeBSDの対応はどうなっているのかなぁとか、ちょっと勘ぐっ ています。が、内部的な話になると私にはお手上げ状態で困ってます。 やっぱりLinuxへの入れ替えが必要かなぁ。悔しいなぁ。 青木和麻呂@神奈川県在住
[FreeBSD-users-jp 90224] Re: PE850 network performance
From: KAWAGUTI Ginga [EMAIL PROTECTED] Subject: [FreeBSD-users-jp 90223] Re: PE850 network performance Date: Sun, 17 Dec 2006 11:00:04 +0900 面白い話を見逃してた... それは頼もしい限りです。 誰も反応無く数日後に嫌々SuSE Linuxをinstallしている自分を想像していま したので。 In Sun, Dec 17, 2006 at 01:12:52AM +0900, Kazumaro Aoki [EMAIL PROTECTED] wrote: 11KB/sぐらい出るPCはPCIで、今回のマシンはPCI Expressということから、 PCI ExpressのFreeBSDの対応はどうなっているのかなぁとか、ちょっと勘ぐっ ています。が、内部的な話になると私にはお手上げ状態で困ってます。 (細かいですが PCI = PCI-X かな???) 詳細はよく分かっていないのですが、そうかもしれないです。onboardの network interfaceです。5.4Rの起動メッセージでは bge0: Broadcom BCM5702 Gigabit Ethernet, ASIC rev. 0x1002 mem 0xfe10-0xfe10 irq 27 at device 3.0 on pci2 brgphy0: BCM5750 10/100/1000baseTX PHY on miibus0 と主張しています。 とりあえず FreeBSD/i386 6-stable にて PCI-Express な bge ですが chip が 5752 (HP xw8400)という代物は手元にあります. Dellのmanualによると、PowerEdge 850のnetwork controllerはBCM5721とある のに7-CURRENTでは、bge0でBMC5703 A2とかbrgphyではBCM5750と認識している のも気になっているのでした。そういうものなのかもしれませんが。 SmartBits からの packet をどれだけ受け取れるか,ということは 先日試していたんですがもっと性能は高かったように思います. (テストのやり方が全然違うので比較が難しい そういえば送信側は試してない...) SmartBitsとは何か…と思ってGoogleで調べたら性能測定機なのですね。 さすがに小さいパケット(200Byte/packet)を 96ns 間隔送信だと 結構取りこぼしがあるけど 700Mbps 前後は出ていました. (device polling とかはやっていないインストールそのまま状態) 上のbge0がBCM5702として認識しているのでは890Mb/sぐらいはttcp測定で出て いることを確認しています。これだけ出ればもちろん満足です。 なお,同一機において PCI-X 接続の Intel GbE(em) な I/F とは 性能において特段ギョッとするような差はなかったはずです. (bge の方が取りこぼしはすくなかった; em が PCI-Exp = PCI-X bridge 経由というのが影響あるかどうかは知らない) こちらでも別マシンですが、GbE(em)で、onboardでは900Mb/sぐらい、PCIでも 600Mb/s前後は出るのを体験しています。 bgeでもちゃんと11KB/sぐらいamd64 PCがあることから、もしかしたらbge が遅いのではなく、busのdriver周りに問題がある可能性を考えています。 pps 単位(割り込みなどの処理能力; 小パケットをガンガン流す)の話と bps (大パケット,場合によっては jumbo frame などでの data 転送能力)に分けて 試してみることはできますでしょうか? 出来る限りの実験はしてみたいと思いますけど、具体的にはどうすればよいの でしょうか? とりあえず、こちらではLAM/MPI (ports/net/lam)で、がんがんデータを流す のが速くなればOkの状態です。一回の送信で数十MB以上は流すので、細かいパ ケットに関するperformanceは上がらなくても構いません。 ttcp が良いかどうかは分かりませんが,自分は ports/net/rude で UDP constant rate でやっています.(rude が良いのかも良く分かりませんが) 受信側で dst% crude -s 30 しておいて src% cat rude.cfg START NOW 1000 0030 ON 3002 10.1.1.1:10001 CONSTANT 500 1500# ex. 1500Byte @ 500pps 11000 0030 OFF# 10秒間で終了 EOF src% rude -s rude.cfg EOFを入れると「rude -s rude.cfg」がすぐ終ってしまったので、削りました。 10.1.1.1は、「crude -s 30」を立ち上げるマシンと解釈して実験しました。 rude が終了したら受信側 crude を ^C すると summary がでます. ちょっと都合があって、どちらもPowerEdge 850で、FreeBSD/amd64ですが、 versioを混ぜて実験しました。 7.0-CURRENT% crude -s 30 5.4-RELEASE% rude -s rude.cfg Flow_ID=30 Packets: received=5001 out-of-seq=0 lost(est)=0 Total bytes received=7501500 Sequence numbers: first=0 last=5000 Delay: average = 3688611092523405.640768 jitter=0.47 seconds Absolute maximum jitter=0.000182 seconds Throughput=750147 Bps (from first to last packet received) 7.0-CURRENT% rude -s rude.cfg 5.4-RELEASE% crude -s 30 Flow_ID=30 Packets: received=5001 out-of-seq=0 lost(est)=0 Total bytes received=7501500 Sequence numbers: first=0 last=5000 Delay: average = 0.001759 jitter=0.47 seconds Absolute maximum jitter=0.000144 seconds Throughput=750153 Bps (from first to last packet received) 7.0-CURRENTの方には、すぐ計りたかったので、6.2R-BETA3のpackageを突っ込 んだせいかDelayの表示がちょっとおかしいようですが、必要な情報は得られ ているでしょうか。 ttcp -t -s -b 131072 -n 65536 -v HOST 一応 ttcp をインストールしてみましたが,tcp のスループットを 試しているんですね,これ. これで Linux のスループット と言うと,最近の Linux (2.6系?)は BIC-TCP というかなり変態な TCP(そんなの TCPじゃねーよ説あり)らしいので NIC の性能とはまた違う要素を比較してしまう部分はあるかと思います. うーむ。 とはいえ、やりたいのはTCPを速くしたいというのではなくてLAM/MPI 経由の 通信性能をあげたいだけなので、どう解決してしまってもいいんですが。^^; とりあえず BCM5752(一応 5751 もあることはあるんですが 5750 はないな...) on FreeBSD/i386,6-stable で良ければ,来週機会を見つけて試してみたいと思います. どんな些細な情報でもお待ちしております。 青木和麻呂@神奈川県在住