Is the BHyVe guest as suitable for high-performance disk IO as the host?

Tinker tinkr at openmailbox.org
Sun May 10 13:17:02 UTC 2015


Hi Neel,

Thank you very much for your response -

That's great!

I guess this should deliver the full capacity for basically any IO 
system around, be it a fast SSD or ramdisk. (Since the guest may not 
need to flush data immediately to the host, I guess read performance is 
the more sensitive point.)

Which disk emulation mode is best for a BSD guest, "virtio-blk" or 
"ahci-hd"?

In general, should any other consideration be made for performance 
(using the "direct" or "nocache" BHyVe configuration options, particular 
consideration for proper sector alignment when using a disk image stored 
on the host's SSD-based ZFS, mounting the host ZFS filesystem with 
"noatime")?

Kind regards,
Tinker

On 2015-05-10 04:03, Neel Natu wrote:
> Hi Tinker,
> 
> On Sat, May 9, 2015 at 9:49 AM, Tinker <tinkr at openmailbox.org> wrote:
>> Hi!
>> 
>> For an environment with very heavy parallell IO, should the 
>> performance be
>> just as good in a BHyVe guest as in the FreeBSD host environment?
>> 
>> What I thought of is that I guess within the host environment, the 
>> storage
>> subsystem should have all kinds of optimizations like an internal work 
>> queue
>> that pushes lots of work alinearly/asynchronously to the disk 
>> controller and
>> this way allows it, in turn, to give all its performance.
>> 
>> Does the virtualized disk interface carry over all that goodness to 
>> the
>> guest?
>> 
> 
> bhyve creates 8 worker threads for each virtual disk controller (both
> ahci and virtio-blk).
> 
> All guest I/O is handled asynchronously by these worker threads which
> provide parallelism.
> 
>> (https://wiki.freebsd.org/bhyve seems to say yes, presuming you 
>> configure
>> BHyVe to run the virtual disk in AHCI mode?)
>> 
> 
> The wiki is out of date.
> 
> Since r280037 the virtio-blk emulation also gets the benefits of using
> the block_if worker threads.
> 
> best
> Neel
> 
>> Thanks!
>> Tinker
>> 
>> _______________________________________________
>> freebsd-virtualization at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
>> To unsubscribe, send any mail to
>> "freebsd-virtualization-unsubscribe at freebsd.org"



More information about the freebsd-virtualization mailing list