[Opensim-dev] Open Simulator Server on Windows vs Linux

Dahlia Trimble dahliatrimble at gmail.com
Sat Oct 11 20:06:31 UTC 2014


I have noticed decreased performance when running OpenSimulator in a
VirtualBox VM vs. running it on the host. Usually it's when there is a lot
of I/O operations, such as high database activity or networking load. I've
also seen issues when a lot of timers are used in scripts. This makes sense
as VIrtualBox adds significant overhead to such operations.

I've seen much better performance using OpenVZ, however OpenVZ is harder to
work with as it's not really a virtual machine but rather more of a
constrained operating environment. It does not add as much overhead to I/O
operations as a true virtual machine would. It also did not seem to suffer
from the timer issues I've seen in VirtualBox.

I've used OpenSImulator on a variety of virtual servers now for several
years and in general it does work reasonably well for smaller use cases. I
would not consider using anything but bare metal or OpenVZ for any regions
which were expected to have high performance and service many users
simultaneously.

In general I've found Windows+.NET to be much more robust than Mono. I do
see problems occasionally on Linux+Mono but I tend to blame Mono. I have
experimental code which can crash and burn any Mono version I've tried to
date, yet runs flawlessly on .NET. This code creates and dereferences
millions of very small objects and when run on a Mono installation will
leak memory and crash with out of memory errors. I've discussed it with
several Mono devs on IRC and the consensus was a possible bug in one or
more of the Mono runtime libraries. I've also seen a lot of random Mono
crashes that I just never see in .NET while running the same sim under
similar load conditions.

While in general I believe .NET to be a more robust operating environment
than mono, the lower cost and ease of use of Linux for server-like
applications usually means I use Linux servers for running regions. I
usually use Windows exclusively for OpenSimulator development, which may be
a reason why I tend to notice such differences. I don't really have any
documented empirical evidence to support my reasoning other than having
some code which will crash Mono. Most of my rationale is based on
observations during my OpenSimulator development and deployment activities
over the past several years.

On Sat, Oct 11, 2014 at 8:46 AM, Maxwell, Douglas CIV USARMY ARL (US) <
douglas.maxwell3.civ at mail.mil> wrote:

>   The MOSES project ( http://militarymetaverse.org/ ) has experimented
> with a number of different Open Simulator deployment methods.  The grid is
> currently has access to a blend of 5 Dell PowerEdge R815 servers and one
> Dell PowerEdge R220.  The R815's are virtual machine servers and the R220
> is a small Linux host used to serve up to 10 sims.  On the R815's we can
> stand up any operating system we wish to experiment with using virtual
> machines.
>
>
>
> Currently, our favorite installation method is using Ubuntu Linux.  This
> is only for convenience as all of the dependencies are available as
> packages.  On Ubuntu, we can start with a bare OS install through
> completely functioning MOSES grid in about 3 hours, including compiling
> from source.  Less time when dealing with binaries.
>
>
>
> Our Complete Instructions Here:
>
>
> http://militarymetaverse.org/wp-content/uploads/2014/10/MIAB_Installation_Instructions_using_Virtual_Box_and_Ubuntu-141006.pdf
>
>
>
> We have worked with CentOS, but it is a lot of work.  Mostly because of
> the bootstrapping needed to get Mono and its associated packages working.
> It is easy to make mistakes and you can spend hours troubleshooting.  In
> the end, it seems to operate similarly as Ubuntu.
>
>
>
> The version of Windows we typically work with is the Army Golden Master of
> Windows 2008 Server or Windows 7 AGM.  The biggest issue we deal with is
> just setting up the environment and being forced to manually download and
> install all the dependencies.  This can take days.  The Army version of
> Windows also has extra registry values and network policies that pose
> configuration challenges.
>
>
>
> Virtual Machine Performance Differences?
>
>
>
> In our testing we have not *yet* found any measurable difference in
> performance between Open Simulator deployed via VM or bare host on any
> operating system.  This has been independently verified by our industry
> partners and other military labs using their own internal hosts as well as
> Amazon EC2.
>
>
>
> Operating System Performance Differences?
>
>
>
> Unfortunately there are so many variables that affect open simulator
> performance that anecdotal evidence to support Windows or Linux simply
> don't hold up.  Its not a simple matter of comparing .Net to Mono.  The
> operating systems are fundamentally different, so a proper test would
> involve replicating the Open Simulator servers as closely as possible on
> each.  This would require an initial benchmark test that has both Windows
> and Linux servers using the same version of Mono, same version of Apache,
> same version of MySQL, etc...  on the same host configuration (i.e.
> hardware or VM profile).
>
>
>
> Any deviations introduce variables to the test that must be accounted
> for.  For example, only after the Windows vs. Linux test has been completed
> and analyzed for differences can you then introduce another variable of
> .Net vs. Mono and re-run the performance benchmarks.  The original Windows
> vs. Linux benchmark is the baseline.
>
>
> Douglas Maxwell, MSME
> Science and Technology Manager
> Virtual World Strategic Applications
> U.S. Army Research Lab
> Simulation & Training Technology Center (STTC)
> (c) (407) 242-0209 <%28407%29%20242-0209>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20141011/8e2ce556/attachment.html>


More information about the Opensim-dev mailing list