<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: KVM Virtio network performance</title>
	<atom:link href="http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/</link>
	<description></description>
	<lastBuildDate>Tue, 07 Sep 2010 11:37:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: btm</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-2867</link>
		<dc:creator>btm</dc:creator>
		<pubDate>Sat, 20 Feb 2010 23:17:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-2867</guid>
		<description>Right, well, there are a lot of things one could test. I didn&#039;t switch to KVM because of the virtio speed. Primarily the change was because it is open source. While testing kvm with and without virtio, it seemed prudent to try some vmware and debian combinations since I still had them lying around. 

I believe at the time I couldn&#039;t find any numbers, so my goal was to produce some data more than write a complete article covering virtualized networking on many different platforms.</description>
		<content:encoded><![CDATA[<p>Right, well, there are a lot of things one could test. I didn&#8217;t switch to KVM because of the virtio speed. Primarily the change was because it is open source. While testing kvm with and without virtio, it seemed prudent to try some vmware and debian combinations since I still had them lying around. </p>
<p>I believe at the time I couldn&#8217;t find any numbers, so my goal was to produce some data more than write a complete article covering virtualized networking on many different platforms.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gr8linux</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-2866</link>
		<dc:creator>gr8linux</dc:creator>
		<pubDate>Sat, 20 Feb 2010 20:46:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-2866</guid>
		<description>The realistic test would be between virtio and VMXNET because both of them using paravirtualized NIC and you should change the guest OS</description>
		<content:encoded><![CDATA[<p>The realistic test would be between virtio and VMXNET because both of them using paravirtualized NIC and you should change the guest OS</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Osis</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-2018</link>
		<dc:creator>Osis</dc:creator>
		<pubDate>Mon, 28 Sep 2009 10:16:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-2018</guid>
		<description>Yes, kvm networking should be used with virtio, other options is if you have some broken system that you have to feed &quot;real&quot; interface with &quot;real&quot; driver.</description>
		<content:encoded><![CDATA[<p>Yes, kvm networking should be used with virtio, other options is if you have some broken system that you have to feed &#8220;real&#8221; interface with &#8220;real&#8221; driver.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-912</link>
		<dc:creator>Scott</dc:creator>
		<pubDate>Thu, 23 Oct 2008 20:20:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-912</guid>
		<description>Ya, the moral is that full virt I/O of any sort is slow, HVM Xen suffers the same problems. virtio and para-virt drivers solve this, I imagine kvm uses virtio for block i/o as well, you should see similar improvements there.</description>
		<content:encoded><![CDATA[<p>Ya, the moral is that full virt I/O of any sort is slow, HVM Xen suffers the same problems. virtio and para-virt drivers solve this, I imagine kvm uses virtio for block i/o as well, you should see similar improvements there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: btm</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-911</link>
		<dc:creator>btm</dc:creator>
		<pubDate>Thu, 23 Oct 2008 19:38:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-911</guid>
		<description>Between two debian etch hosts (running vmware) on the same switch:

&lt;pre&gt;
bryanm@vmware02:~$ iperf -c vmware01
------------------------------------------------------------
Client connecting to vmware01, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.162 port 46332 connected with 10.0.1.161 port 5001
[  3]  0.0-10.0 sec  1.09 GBytes    940 Mbits/sec
bryanm@vmware02:~$ uname -a
Linux vmware02 2.6.18-6-amd64 #1 SMP Sun Feb 10 17:50:19 UTC 2008 x86_64 GNU/Linux
bryanm@vmware02:~$ lsb_release -a
LSB Version:	core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-amd64:core-3.0-amd64:core-3.1-amd64
Distributor ID:	Debian
Description:	Debian GNU/Linux 4.0 (etch)
Release:	4.0
Codename:	etch
&lt;/pre&gt;

From said debian/vmware host, to a debian/vmware (i686) guest:
&lt;pre&gt;
bryanm@vmware02:~$ iperf -c web-stage02
------------------------------------------------------------
Client connecting to web-stage02, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.162 port 39826 connected with 10.0.1.62 port 5001
[  3]  0.0-10.0 sec    941 MBytes    789 Mbits/sec
&lt;/pre&gt;

It&#039;s interesting to compare those numbers:
780MB : VMWare Host -&gt; Guest
315MB : KVM Host -&gt; Guest w/o virtio
1.15GB: KVM HOST -&gt; Guest w/virtio

Of course I could be missing something, but it&#039;s interesting data at least, and I can&#039;t find any sort of data anywhere out there. Moral of the story? KVM Networking sucks without virtio, but kicks ass with it.</description>
		<content:encoded><![CDATA[<p>Between two debian etch hosts (running vmware) on the same switch:</p>
<pre>
bryanm@vmware02:~$ iperf -c vmware01
------------------------------------------------------------
Client connecting to vmware01, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.162 port 46332 connected with 10.0.1.161 port 5001
[  3]  0.0-10.0 sec  1.09 GBytes    940 Mbits/sec
bryanm@vmware02:~$ uname -a
Linux vmware02 2.6.18-6-amd64 #1 SMP Sun Feb 10 17:50:19 UTC 2008 x86_64 GNU/Linux
bryanm@vmware02:~$ lsb_release -a
LSB Version:	core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-amd64:core-3.0-amd64:core-3.1-amd64
Distributor ID:	Debian
Description:	Debian GNU/Linux 4.0 (etch)
Release:	4.0
Codename:	etch
</pre>
<p>From said debian/vmware host, to a debian/vmware (i686) guest:</p>
<pre>
bryanm@vmware02:~$ iperf -c web-stage02
------------------------------------------------------------
Client connecting to web-stage02, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.162 port 39826 connected with 10.0.1.62 port 5001
[  3]  0.0-10.0 sec    941 MBytes    789 Mbits/sec
</pre>
<p>It&#8217;s interesting to compare those numbers:<br />
780MB : VMWare Host -> Guest<br />
315MB : KVM Host -> Guest w/o virtio<br />
1.15GB: KVM HOST -> Guest w/virtio</p>
<p>Of course I could be missing something, but it&#8217;s interesting data at least, and I can&#8217;t find any sort of data anywhere out there. Moral of the story? KVM Networking sucks without virtio, but kicks ass with it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: btm</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-909</link>
		<dc:creator>btm</dc:creator>
		<pubDate>Thu, 23 Oct 2008 19:24:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-909</guid>
		<description>@Scott:

virt04 -&gt; ops02, mon02 as guests. mon02 has virtio.

&lt;pre&gt;
bryanm@virt03:~$ iperf -c ops02
------------------------------------------------------------
Client connecting to ops02, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.171 port 47372 connected with 10.0.1.13 port 5001
[  3]  0.0-10.0 sec    469 MBytes    393 Mbits/sec
bryanm@virt03:~$ iperf -c mon02
------------------------------------------------------------
Client connecting to mon02, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.171 port 53974 connected with 10.0.1.33 port 5001
[  3]  0.0-10.0 sec    737 MBytes    618 Mbits/sec
&lt;/pre&gt;

I ran that a few more times and ops02 is consistently just under 400 Mbits/sec,  while mon02 is consistently just over 600 Mbits/sec.

Which is half of that 1.3 Gbits/sec figure. Host to host is about 940 Mbits/sec:
&lt;pre&gt;
bryanm@virt04:~$ iperf -c virt03
------------------------------------------------------------
Client connecting to virt03, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.172 port 34888 connected with 10.0.1.171 port 5001
[  3]  0.0-10.0 sec  1.10 GBytes    941 Mbits/sec
&lt;/pre&gt;

ethtool reports:
&lt;pre&gt;
Settings for eth0:
	Supported ports: [ FIBRE ]
	Supported link modes:   1000baseT/Full 
	Supports auto-negotiation: Yes
	Advertised link modes:  1000baseT/Full 
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: FIBRE
	PHYAD: 2
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: g
	Wake-on: d
	Link detected: yes
&lt;/pre&gt;

So there is some performance loss there still by using virtualization (instead of not, not specifically talking about virtio). I haven&#039;t done any tuning really. It is interesting though, to consider running guests that have a lot of data transfer between each other on the same host.</description>
		<content:encoded><![CDATA[<p>@Scott:</p>
<p>virt04 -> ops02, mon02 as guests. mon02 has virtio.</p>
<pre>
bryanm@virt03:~$ iperf -c ops02
------------------------------------------------------------
Client connecting to ops02, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.171 port 47372 connected with 10.0.1.13 port 5001
[  3]  0.0-10.0 sec    469 MBytes    393 Mbits/sec
bryanm@virt03:~$ iperf -c mon02
------------------------------------------------------------
Client connecting to mon02, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.171 port 53974 connected with 10.0.1.33 port 5001
[  3]  0.0-10.0 sec    737 MBytes    618 Mbits/sec
</pre>
<p>I ran that a few more times and ops02 is consistently just under 400 Mbits/sec,  while mon02 is consistently just over 600 Mbits/sec.</p>
<p>Which is half of that 1.3 Gbits/sec figure. Host to host is about 940 Mbits/sec:</p>
<pre>
bryanm@virt04:~$ iperf -c virt03
------------------------------------------------------------
Client connecting to virt03, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.1.172 port 34888 connected with 10.0.1.171 port 5001
[  3]  0.0-10.0 sec  1.10 GBytes    941 Mbits/sec
</pre>
<p>ethtool reports:</p>
<pre>
Settings for eth0:
	Supported ports: [ FIBRE ]
	Supported link modes:   1000baseT/Full
	Supports auto-negotiation: Yes
	Advertised link modes:  1000baseT/Full
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: FIBRE
	PHYAD: 2
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: g
	Wake-on: d
	Link detected: yes
</pre>
<p>So there is some performance loss there still by using virtualization (instead of not, not specifically talking about virtio). I haven&#8217;t done any tuning really. It is interesting though, to consider running guests that have a lot of data transfer between each other on the same host.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott</title>
		<link>http://blog.loftninjas.org/2008/10/22/kvm-virtio-network-performance/comment-page-1/#comment-906</link>
		<dc:creator>Scott</dc:creator>
		<pubDate>Thu, 23 Oct 2008 02:14:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.loftninjas.org/?p=256#comment-906</guid>
		<description>I assume the improvements exist even when communicating with another machine via the bridge?</description>
		<content:encoded><![CDATA[<p>I assume the improvements exist even when communicating with another machine via the bridge?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
