* [PATCH]fix relocation buffer size
@ 2009-04-30 6:19 Zhigang Wang
0 siblings, 0 replies; only message in thread
From: Zhigang Wang @ 2009-04-30 6:19 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1: Type: text/plain, Size: 287 bytes --]
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@oracle.com>
thanks,
zhigang
[-- Attachment #2: results.txt --]
[-- Type: text/plain, Size: 5438 bytes --]
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
=====================================================================================
[-- Attachment #3: xen-fix-relocaltion-buffer-size.patch --]
[-- Type: text/x-patch, Size: 323 bytes --]
--- 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
[-- Attachment #4: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-04-30 6:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-30 6:19 [PATCH]fix relocation buffer size Zhigang Wang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.