Project

General

Profile

Actions

Bug #3090

closed

VirtIO/vtnet: very poor IPv6 receiving performance (~100x slower)

Added by liweitianux over 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Networking
Target version:
-
Start date:
10/23/2017
Due date:
% Done:

0%

Estimated time:

Description

Hello,

I'm running DFly (4.8.0) on a VPS with both IPv4 and IPv6. However, I'm suffering poor IPv6 receiving performance (~100x slower!!), but IPv6 sending, IPv4 sending and receiving all perform very well.

I carried out several tests, and finally I'm quite sure that the problem exists in DFly's VirtIO driver.

I booted DFly (5.0), FreeBSD (11), and Arch Linux (201705) LiveCDs on my VPS, and configured basic IPv6 connection, then tried to download a 128 MB test file from the VPS provider's service. The followings are the test results:

OS (virtio) | download speed
------------+----------------------------
DFly (IPv6) | ~80 kB/s (NOTE: it's kB/s)
FBSD (IPv6) | ~85 MB/s
Arch (IPv6) | ~83 MB/s

In addition, I used "iperf3" to further test the sending/receiving bandwidth of my VPS (located in the Netherlands), against a iperf server in France (bouygues.iperf.fr):

OS/driver | DFly (virtio) | DFly (em)
-----------------+----------------+-----------
IPv4 - sending | ~240 Mb/s | ~170 Mb/s
IPv4 - receiving | ~400 Mb/s | ~430 Mb/s
IPv6 - sending | ~160 Mb/s | ~115 Mb/s
IPv6 - receiving | ~0.5 Mb/s (!!) | ~370 Mb/s

To confirm the problem, I switched the network driver of my VPS from "VirtIO" to "Intel PRO/1000" (i.e., "em" driver) and redo the tests, which gave me very impressing IPv6 performance!

NOTE: I did these tests yesterday and today, so the reported network bandwidth might vary much. But the VirtIO IPv6 receiving problem is very obvious!

I'm not sure whether this problem is due to the maybe out-of-date virtio driver (compared to FreeBSD's), or because it does not well integrate with the DFly system.

Cheers,
Aly


Related issues 1 (0 open1 closed)

Related to Bug #3089: vtnet(4) - disable TCP checksum offload by defaultClosedvadaszi10/21/2017

Actions
Actions #1

Updated by liweitianux over 6 years ago

  • Related to Bug #3089: vtnet(4) - disable TCP checksum offload by default added
Actions #2

Updated by vadaszi over 6 years ago

  • Status changed from New to In Progress
  • Assignee set to vadaszi

Ok, I also cherry-picked 849f77c77acc4d5041fa638b364cb6a296a8051b to the DragonFly_RELEASE_4_8 git branch.

Actions #3

Updated by liweitianux about 6 years ago

  • Status changed from In Progress to Closed

The reason for this issue is explained in Bug #3089, so just close this one.

Actions

Also available in: Atom PDF