Ethereal-dev: [Ethereal-dev] dual port system iscsi performance sudden drop

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Ming Zhang <mingz@xxxxxxxxxxx>
Date: Thu, 23 Jun 2005 20:45:28 -0400
Hi folks

when i test the iscsi performance, i met this strange problem.

the target is a dual port intel up box. use e1000 driver, vanilla linux
kernel 2.4.27. both ports connect to same subnet. the initiator is a
windows box.

i keep pushing the data into the box via iometer. the performance looks
fine. then suddenly, the performance drop to only 7% of the original one
and keep for around 5 minute before going back. then it will drop again
after some time from 20 minutes to 50 minutes.

the funny thing is 

1) whenever i saw this drop, i run "arp" or "netstat" on the box and
then the performance jump back immediately. i do not what these commands
touched and i just happen to run them by chance and then connect them to
the performance drop.

2) when i saw this drop, i ran ethereal and then see some special
packets like this. if the performance goes back, it disappears.

No.     Time        Source                Destination           Protocol
Info
     10 0.001459    00:00:00_00:00:00     Spanning-tree-(for-bridges)_01
0x8808   MAC Control

Frame 10 (60 bytes on wire, 60 bytes captured)
    Arrival Time: Jun 23, 2005 19:30:00.557119000
    Time delta from previous packet: 0.001186000 seconds
    Time since reference or first frame: 0.001459000 seconds
    Frame Number: 10
    Packet Length: 60 bytes
    Capture Length: 60 bytes
    Protocols in frame: eth:data
Ethernet II, Src: 00:00:00:00:00:00, Dst: 01:80:c2:00:00:01
    Destination: 01:80:c2:00:00:01 (Spanning-tree-(for-bridges)_01)
    Source: 00:00:00:00:00:00 (00:00:00_00:00:00)
    Type: MAC Control (0x8808)
Data (46 bytes)

0000  00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00         ..............
Data (60 bytes)

0000  01 80 c2 00 00 01 00 00 00 00 00 00 88 08 00 01   ................
0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030  00 00 00 00 00 00 00 00 00 00 00 00               ............

it like a bridge spanning tree algorithm. but the 2 boxes, 3 ports, are
connected to same gigabit switch. i do not think i have a bridge here.
though i do have a home broadband router that connect to this gigabit
switch as well.

also i am not sure if this is a possible reason. i saw this from intel
driver readme

------------
 Multiple Interfaces on Same Ethernet Broadcast Network
  ------------------------------------------------------

  Due to the default ARP behavior on Linux, it is not possible to have
  one system on two IP networks in the same Ethernet broadcast domain
  (non-partitioned switch) behave as expected. All Ethernet interfaces
  will respond to IP traffic for any IP address assigned to the system.
  This results in unbalanced receive traffic.

  If you have multiple interfaces in a server, either turn on ARP
  filtering by entering:

      echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
  (this only works if your kernel's version is higher than 2.4.5),

  NOTE: This setting is not saved across reboots. The configuration
change
  can be made permanent by adding the line:
      net.ipv4.conf.all.arp_filter = 1
  to the file /etc/sysctl.conf

        or,

  install the interfaces in separate broadcast domains (either in
different
  switches or in a switch partitioned to VLANs).
---------------------------



anybody have any idea on this? thanks!


ming

Attachment: signature.asc
Description: This is a digitally signed message part