hi,
this patch adjust the relocation buffer size, it can greatly improve the
ssl relocation performance (to about 1/3 compared with buffersize = 1024).
here are some test results, see attachment result.txt.
Signed-off-by: Zhigang Wang <zhigang.x.wang@xxxxxxxxxx>
thanks,
zhigang
Migration time test
Conclusion:
Buffer size 16K is the best choice
=====================================================================================
host2:
# ethtool peth0
Settings for peth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
# ethtool -i peth0
driver: bnx2
version: 1.7.6b
firmware-version: 4.4.1 UMP 1.1.9
bus-info: 0000:03:00.0
=====================================================================================
host1:
# ethtool peth0
Settings for peth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 2
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
# ethtool -i peth0
driver: forcedeth
version: 0.56
firmware-version:
bus-info: 0000:00:08.0
=====================================================================================
BUFFER_SIZE = 1024
source: host2, target: host1, memory: 4000, ssl: False
real 0m44.047s
user 0m0.064s
sys 0m0.008s
source: host1, target: host2, memory: 4000, ssl: False
real 0m37.843s
user 0m0.092s
sys 0m0.012s
source: host2, target: host1, memory: 4000, ssl: False
real 0m47.069s
user 0m0.068s
sys 0m0.004s
source: host1, target: host2, memory: 4000, ssl: False
real 0m37.640s
user 0m0.092s
sys 0m0.008s
source: host2, target: host1, memory: 4000, ssl: False
real 0m47.524s
user 0m0.056s
sys 0m0.012s
source: host1, target: host2, memory: 4000, ssl: False
real 0m37.637s
user 0m0.088s
sys 0m0.020s
=====================================================================================
BUFFER_SIZE = 1024
source: host2, target: host1, memory: 4000, ssl: True
real 4m30.996s
user 0m0.064s
sys 0m0.008s
source: host1, target: host2, memory: 4000, ssl: True
real 4m4.462s
user 0m0.076s
sys 0m0.028s
source: host2, target: host1, memory: 4000, ssl: True
real 4m30.383s
user 0m0.060s
sys 0m0.016s
source: host1, target: host2, memory: 4000, ssl: True
real 4m5.903s
user 0m0.076s
sys 0m0.028s
=====================================================================================
BUFFER_SIZE = 32 * 1024
source: host1, target: host2, memory: 4000, ssl: True
real 1m47.328s
user 0m0.092s
sys 0m0.016s
source: host2, target: host1, memory: 4000, ssl: True
real 1m56.843s
user 0m0.072s
sys 0m0.000s
source: host1, target: host2, memory: 4000, ssl: True
real 1m46.075s
user 0m0.088s
sys 0m0.016s
source: host2, target: host1, memory: 4000, ssl: True
real 1m58.902s
user 0m0.056s
sys 0m0.012s
=====================================================================================
BUFFER_SIZE = 32 * 1024
source: host1, target: host2, memory: 4000, ssl: False
real 0m37.698s
user 0m0.084s
sys 0m0.016s
source: host2, target: host1, memory: 4000, ssl: False
real 0m44.483s
user 0m0.064s
sys 0m0.004s
=====================================================================================
BUFFER_SIZE = 64 * 1024
source: host1, target: host2, memory: 4000, ssl: True
real 1m46.347s
user 0m0.088s
sys 0m0.016s
source: host2, target: host1, memory: 4000, ssl: True
real 1m48.066s
user 0m0.064s
sys 0m0.008s
=====================================================================================
BUFFER_SIZE = 1024 * 1024
source: host1, target: host2, memory: 4000, ssl: True
real 4m48.754s
user 0m0.084s
sys 0m0.024s
source: host2, target: host1, memory: 4000, ssl: True
real 2m51.459s
user 0m0.060s
sys 0m0.012s
=====================================================================================
BUFFER_SIZE = 16 * 1024
source: host1, target: host2, memory: 4000, ssl: True
real 1m44.170s
user 0m0.084s
sys 0m0.020s
source: host2, target: host1, memory: 4000, ssl: True
real 1m59.538s
user 0m0.072s
sys 0m0.004s
=====================================================================================
BUFFER_SIZE = 8 * 1024
source: host1, target: host2, memory: 4000, ssl: True
real 2m0.496s
user 0m0.092s
sys 0m0.016s
source: host2, target: host1, memory: 4000, ssl: True
real 2m18.153s
user 0m0.068s
sys 0m0.012s
=====================================================================================
--- xen-unstable/tools/python/xen/web/connection.py.orig 2009-04-16
08:11:54.000000000 +0800
+++ xen-unstable/tools/python/xen/web/connection.py 2009-04-16
08:12:18.000000000 +0800
@@ -37,7 +37,7 @@
for TCP and unix-domain sockets (see tcp.py and unix.py).
"""
-BUFFER_SIZE = 1024
+BUFFER_SIZE = 16384
BACKLOG = 5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|