Performanceprobleme msk0

stauraum

Member
Hallo zusammen,

ich habe meinen Homeserver (Acer H340) von Ubuntu auf FreeBSD 9.0 umgestellt. Wichtig war mir das ich das gesamte System auf ZFS-Rootfilesystem aufsetzen kann. Das hat auch super funktioniert soweit, nur musste ich jetzt feststellen, das ich offensichtlich Probleme mit dem Netzinterface msk0 habe. Ich bekomme, egal was ich mache keinen wirklichen Durchsatz zustande.

Bei FTP-Transfer stellt es sich so dar, das ich im Normalzustand nur ca. 4mb/s über die Leitung bekomme. Wohlgemerkt Gigabit Verbindung. Wenn ich rxcsum und txcsum via ifconfig abschalte, verdopellt sich der Speed auf ca. 8mb/s, was aber noch immer Kilometer weit vom zu erwartenden Durchsatz ist.

Da ich ganz frisch bei FreeBSD bin hab ich im Moment keine Idee, wo ich noch suchen könnte ... :/

Vllt. habt Ihr ja nen Tip ...
 
Zeigt 'ifconfig msk0' auch
Code:
media: Ethernet autoselect (1000baseT <full-duplex>)
an? Bringt die Gegenstelle ueberhaupt genug Datendurchsatz?
 
msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c0098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE>
ether 00:26:2d:01:8b:7b
inet 172.16.1.10 netmask 0xffffff00 broadcast 172.16.1.255
inet6 fe80::226:2dff:fe01:8b7b%msk0 prefixlen 64 scopeid 0x1
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex,flowcontrol,rxpause,txpause>)
status: active
 
mit -rxcsum-txcsum -tso schaut es im Moment so aus:

msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c0098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE>
ether 00:26:2d:01:8b:7b
inet 172.16.1.10 netmask 0xffffff00 broadcast 172.16.1.255
inet6 fe80::226:2dff:fe01:8b7b%msk0 prefixlen 64 scopeid 0x1
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex,flowcontrol,rxpause,txpause>)
status: active
 
Kannst du einmal schauen, wie viele Interrupts msk0 unter Last generiert? "vmstat -i" zeigt es dir an.
 
msk0 mit -rxcsum -txcsum -tso:

msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c0098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE>
ether 00:26:2d:01:8b:7b
inet 172.16.1.10 netmask 0xffffff00 broadcast 172.16.1.255
inet6 fe80::226:2dff:fe01:8b7b%msk0 prefixlen 64 scopeid 0x1
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex,flowcontrol,rxpause,txpause>)
status: active

Über Interrupt-Probleme hatte ich auch was gelesen, aber das Thema ist für mich irgendwie nicht greifbar ... rein logisch ;)

mit diesen Einträgen in der /boot/loader.conf
hw.msk.msi_disable=1
hw.msk.jumbo_disable=1

ergab sich folgendes Bild:

interrupt total rate
irq9: acpi0 88880 4
irq16: mskc0 uhci3 7447882 412
irq23: uhci0 ehci0 195 0
cpu0:timer 4738951 262
irq256: ahci1 1893875 104
cpu1:timer 4147117 229
Total 18316900 1014

Das System hatte ne Uptime von ca. 2h. Außer TimeMachine und Transmission lief soweit nichts darauf. Nach Reboot und ca. 2GB TimeMachine-Traffic schaut es so aus:

interrupt total rate
irq9: acpi0 3289 4
irq23: uhci0 ehci0 194 0
cpu0:timer 310329 452
irq256: mskc0 451265 657
irq257: ahci1 170164 248
cpu1:timer 194568 283
Total 1129809 1646

Die Einträge in der loader.conf sind dementsprechend raus ...
 
Das sieht so weit gut aus. Die Interruptlast ist durchaus im Rahmen, sogar am unteren Ende und damit kein Problem. Kurz gesagt weiß ich es also nicht... Meine Empfehlung wäre, dich an die englischsprachige freebsd-net@ Mailingliste[1] zu wenden.

1: http://lists.freebsd.org
 
hi

was sagt den netstat -in

es gibt bei fbsd auch einige neue tunetables
Code:
 # Some useful netisr tunables. See sysctl net.isr
#net.isr.maxthreads=4
#net.isr.defaultqlimit=4096
#net.isr.maxqlimit=10240
#net.isr.maxqlimit=81920
# Bind netisr threads to CPUs
#net.isr.bindthreads=1
#
net.link.ifqmaxlen=1024
# Interrupt handling via multiple CPU, but with context switch.
# You can play with it. Default is 1;
#net.isr.direct=1

vieleicht helfen die ja

ansonsten gibt die manpage ja noch einige sysctl 's her

holger
 
Ha! Es wird noch besser ...

Jetzt hab ich mal 8.2 installiert, in der Hoffnung das das msk0 Problem dort nicht existiert. Nun hab ich das Problem, das sobald das System ne Weile (keine 5 Minuten) im Netz steht, kein Client mehr ins Internet kann ...? Sobald ich den Server ausschalte gehts wieder?

meine rc.conf:

bruno# cat /etc/rc.conf
zfs_enable="YES"
keymap="german.cp850"
ifconfig_msk0="inet 172.16.1.10 netmask 255.255.255.0"
defaultrouter="172.16.1.1"
sshd_enable="YES"
hostname="bruno.tropho.bie"
powerd_enable="YES"

die aktuell laufenden Prozesse ...
bruno# ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 11 196.6 0.0 0 32 ?? RL 2:29PM 1:21.38 [idle]
ksc 882 1.1 0.1 8296 1496 0 Ss 2:30PM 0:00.04 -sh (sh)
root 883 1.1 0.1 21692 1632 0 S 2:30PM 0:00.05 su -
root 884 0.9 0.1 8284 2184 0 S 2:30PM 0:00.09 -su (csh)
root 0 0.7 0.0 0 976 ?? DLs 2:29PM 0:00.56 [kernel]
root 3 0.1 0.0 0 16 ?? DL 2:29PM 0:00.08 [g_up]
root 4 0.1 0.0 0 16 ?? DL 2:29PM 0:00.08 [g_down]
root 12 0.1 0.0 0 272 ?? WL 2:29PM 0:00.23 [intr]
ksc 881 0.1 0.2 38192 3948 ?? S 2:30PM 0:00.04 sshd: ksc@pts/0 (sshd)
root 1 0.0 0.0 3204 368 ?? SLs 2:29PM 0:00.06 /sbin/init --
root 2 0.0 0.0 0 16 ?? DL 2:29PM 0:00.02 [g_event]
root 5 0.0 0.0 0 60 ?? DL 2:29PM 0:00.04 [zfskern]
root 6 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [sctp_iterator]
root 7 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [xpt_thrd]
root 8 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [pagedaemon]
root 9 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [vmdaemon]
root 10 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [audit]
root 13 0.0 0.0 0 16 ?? DL 2:29PM 0:00.01 [yarrow]
root 14 0.0 0.0 0 320 ?? DL 2:29PM 0:00.08 [usb]
root 15 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [pagezero]
root 16 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [bufdaemon]
root 17 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [syncer]
root 18 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [vnlru]
root 19 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [softdepflush]
root 20 0.0 0.0 0 16 ?? DL 2:29PM 0:00.00 [flowcleaner]
root 134 0.0 0.0 2768 752 ?? Is 2:29PM 0:00.00 adjkerntz -i
root 377 0.0 0.0 3200 620 ?? Ss 2:29PM 0:00.00 /sbin/devd
root 486 0.0 0.1 7048 1248 ?? Ss 2:29PM 0:00.03 /usr/sbin/syslogd -s
root 732 0.0 0.0 6916 952 ?? Ss 2:29PM 0:00.01 /usr/sbin/powerd
root 771 0.0 0.1 26260 2792 ?? Ss 2:29PM 0:00.02 /usr/sbin/sshd
root 779 0.0 0.1 12148 2900 ?? Ss 2:29PM 0:00.01 sendmail: accepting connections (sendmail)
smmsp 783 0.0 0.1 12148 2824 ?? Is 2:29PM 0:00.00 sendmail: Queue runner@00:30:00 for /var/spool/clien
root 790 0.0 0.1 7976 1272 ?? Is 2:29PM 0:00.01 /usr/sbin/cron -s
root 879 0.0 0.2 38192 3920 ?? Ss 2:30PM 0:00.37 sshd: ksc [priv] (sshd)
root 856 0.0 0.1 8296 1280 v0- I 2:29PM 0:00.00 sh /etc/rc autoboot
root 857 0.0 0.0 5828 824 v0- I 2:29PM 0:00.00 logger -p daemon.notice -t fsck
root 858 0.0 0.0 2764 736 v0- I 2:29PM 0:00.00 sleep 60
root 860 0.0 0.0 6916 1000 v0 Is+ 2:29PM 0:00.01 /usr/libexec/getty Pc ttyv0
root 861 0.0 0.0 6916 1000 v1 Is+ 2:29PM 0:00.01 /usr/libexec/getty Pc ttyv1
root 862 0.0 0.0 6916 1000 v2 Is+ 2:29PM 0:00.01 /usr/libexec/getty Pc ttyv2
root 863 0.0 0.0 6916 1000 v3 Is+ 2:29PM 0:00.01 /usr/libexec/getty Pc ttyv3
root 864 0.0 0.0 6916 1000 v4 Is+ 2:29PM 0:00.00 /usr/libexec/getty Pc ttyv4
root 865 0.0 0.0 6916 1000 v5 Is+ 2:29PM 0:00.00 /usr/libexec/getty Pc ttyv5
root 866 0.0 0.0 6916 1000 v6 Is+ 2:29PM 0:00.01 /usr/libexec/getty Pc ttyv6
root 867 0.0 0.0 6916 1000 v7 Is+ 2:29PM 0:00.01 /usr/libexec/getty Pc ttyv7
root 888 0.0 0.1 8044 1120 0 R+ 2:30PM 0:00.00 ps aux
 
Zuletzt bearbeitet:
Zurück
Oben