Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Shells Virtual Desktop
BMail.ag - Secure Email Service
Server.net
CPLicense.net
VPS Server
Buy VPN
Vultr
VMs for AI
HostDare
ReliableSite White-Label Dedicated Hosting for Resellers
InterServer VPS
BMail.ag - Secure Email Service
Best VPN
High-Performance Bare Metal Server Solutions
Karvl.com
Server Mania Cloud Hosting
DataWagon Hosting
AlphaVPS Hosting
Evoxt.com
Clouvider
VPS Hosting with NVMe
Residential IPs in the US & 4G Mobile Proxies in EU & US with Unlimited Bandwidth
ReliableSite White-Label Dedicated Hosting for Resellers
Rabisu - Hosting Solutions
Shells Virtual Desktop
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

FreeBSD on KVM success

BluBoyBluBoy Member
edited May 2012 in Reviews

Over the past few weeks, I have attempted to get FreeBSD running well on a XEN-HVM and XEN-PV LEB without much success. Last night, I finally decided it was time to give BuyVM and KVM a shot. This is more an example of what virtio can do for BSD on KVM.

** All tests were run 5 times with the best and worse results excluded **

Lets take a base after default FreeBSD 9.0 i386 install...

$ dd if=/dev/zero of=test bs=64k count=16k

16384+0 records in
16384+0 records out
1073741824 bytes transferred in 37.775315 secs (28424431 bytes/sec)
1073741824 bytes transferred in 71.264295 secs (15067038 bytes/sec)
1073741824 bytes transferred in 41.564684 secs (25833032 bytes/sec)

^ Painful does not even begin to explain how slow that felt!

/usr/local/bin/wget cachefly.cachefly.net/100mb.test -O /dev/null

2012-05-11 18:20:56 (45.4 MB/s) - `/dev/null' saved [104857600/104857600]

^ I am actually pretty happy with this. Coming from Australia (lucky to get 20Mbps) and a bunch of 100Mbps LEBs, I thought this was great!

Next up I tried to install /usr/ports/emulators/virtio-kmod without much success... It refused to recognise the disk or NIC at boot, I'm pretty sure something was missing which was stopping the driver from loading

Being forced into a corner, I decided to rebuild world and compile a new kernel.
Having done this a few times before, I was able to knock up a heavily optimised make.conf, src.conf and kernel.conf fairly quickly. The result was a kernel that was more than halved in sized, booting ~4 times as quickly and absolutely flying in actual use... I had a feeling that this round of tests would be good!

Post optimised FreeBSD 10 world and kernel

dd if=/dev/zero of=test bs=64k count=16k

1073741824 bytes transferred in 29.275458 secs (36677200 bytes/sec)
1073741824 bytes transferred in 20.908691 secs (51353852 bytes/sec)
1073741824 bytes transferred in 26.776536 secs (40100102 bytes/sec)

/usr/local/bin/wget cachefly.cachefly.net/100mb.test -O /dev/null

2012-05-12 10:36:31 (50.0 MB/s) - /dev/null' saved [104857600/104857600] 2012-05-12 10:36:37 (46.5 MB/s) -/dev/null' saved [104857600/104857600]
2012-05-12 10:36:41 (48.4 MB/s) - `/dev/null' saved [104857600/104857600]

^ Well that is definitely good... Disk performance was up ~ 100% and somehow interface performance was up another ~10%

... It was a hollow victory, as I was aiming for atleast 50Mbps (preferably 100Mbps) speeds on the disk!
That's when I realised that virtio hadn't even been enabled yet. A quick edit to rc.conf and fstab followed by a reboot and...

Post optimised FreeBSD 10 world and kernel with virtio enabled

dd if=/dev/zero of=test bs=64k count=16k

1073741824 bytes transferred in 8.948978 secs (119984852 bytes/sec)
1073741824 bytes transferred in 9.203055 secs (116672323 bytes/sec)
1073741824 bytes transferred in 8.351456 secs (128569414 bytes/sec)

^ JEEBUSSSSSS! My disk performance has gone from ~ 15Mbps to well over 100Mbps. This is what I was looking for!

/usr/local/bin/wget cachefly.cachefly.net/100mb.test -O /dev/null

2012-05-12 10:47:28 (59.5 MB/s) - /dev/null' saved [104857600/104857600] 2012-05-12 10:47:33 (64.6 MB/s) -/dev/null' saved [104857600/104857600]
2012-05-12 10:47:42 (61.6 MB/s) - `/dev/null' saved [104857600/104857600]

^ Oh and another handy little 25% gain on the interface as well.

All up I am pretty excited with BuyVM, KVM, FreeBSD 10 and virtio at the moment!

Thanked by 3Steve Francisco lbft

Comments

  • subinsubin Member

    @BluBoy said: Post optimised FreeBSD 10 world and kernel

    How can you get freebsd 10. AFAIK, last version is 9.0

  • BluBoyBluBoy Member

    Standard buildworld technique...

    Step 1 - Create src csup config file

    cat /root/csup_src.txt

    *default tag=.
    *default host=cvsup1.us.FreeBSD.org
    *default prefix=/usr
    *default base=/var/db
    *default release=cvs delete use-rel-suffix compress

    Step 1a - May as well create ports csup config file (ports-all is recommended, LEB's usually don't have the space, so I restrict it to just the categories I know I'll need)

    cat /root/csup_ports.txt | grep -v #

    *default host=cvsup1.us.FreeBSD.org
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs tag=.
    *default delete use-rel-suffix
    *default compress
    ports-base
    ports-archivers
    ports-converters
    ports-databases
    ports-devel
    ports-emulators
    ports-ftp
    ports-graphics
    ports-lang
    ports-net
    ports-print
    ports-security
    ports-sysutils
    ports-textproc
    ports-www

    Step 2 - Run csup

    csup /root/csup_src.txt

    Step 2a - If you want to do ports, may as well do that now as well:

    csup /root/csup_ports.txt

    Step 3 - make buildworld|buildkernel as you would normally

    Step 4 - make installkernel as you would normally

    Step 5 - Shutdown to single usermode and installworld as you would normally

    Step 6 - Reboot!

    Step 7 - ... Profit?

    uname -a

    FreeBSD sj.?????.com.au 10.0-CURRENT FreeBSD 10.0-CURRENT #0: Sat May 12 01:38:48 EST 2012 ?????@sj.?????.com.au:/usr/obj/usr/src/sys/????? i386

    Thanked by 1lbft
  • g519g519 Member

    Any results for gdd? So you can use fdataynsc.

Sign In or Register to comment.