[FreeBSD-users-jp 90220] Re: PE850 network performance

2006-12-16 スレッド表示 Watanabe Kazuhiro
渡辺一寛です。

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 の衝突

2006-12-16 スレッド表示 ikesan
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

2006-12-16 スレッド表示 Kazumaro Aoki
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

2006-12-16 スレッド表示 Kazumaro Aoki
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 で良ければ,来週機会を見つけて試してみたいと思います.

どんな些細な情報でもお待ちしております。

青木和麻呂@神奈川県在住