RouterOS and Exsi

I’ve tried routeros under exsi but i have trouble with large responds time due low freq witch is given by exsi …
there are no way to improve that without VMware-tools which is not available under mikrotik router os …

Is there any suggestions about that ?

Please use some measurable values for values that can be measured.

So what you mean by - large response times?


what is throughput of your virtualized router?

i have ros running in esx4 and esxi4 servers and having no problems
one of them is also running the user manager
never checked troughput - as i never had a problem

Pingin self geteway

7.7.7.1 64 byte ping: ttl=64 time=5 ms
7.7.7.1 64 byte ping: ttl=64 time<1 ms
7.7.7.1 64 byte ping: ttl=64 time=1 ms
7.7.7.1 64 byte ping: ttl=64 time=7 ms
7.7.7.1 64 byte ping: ttl=64 time<1 ms
7.7.7.1 64 byte ping: ttl=64 time<1 ms
7.7.7.1 64 byte ping: ttl=64 time=8 ms
7.7.7.1 64 byte ping: ttl=64 time=9 ms
7.7.7.1 64 byte ping: ttl=64 time=1 ms
7.7.7.1 64 byte ping: ttl=64 time=7 ms
7.7.7.1 64 byte ping: ttl=64 time=1 ms
7.7.7.1 64 byte ping: ttl=64 time=8 ms
7.7.7.1 64 byte ping: ttl=64 time=9 ms
7.7.7.1 64 byte ping: ttl=64 time=2 ms
7.7.7.1 64 byte ping: ttl=64 time=8 ms
7.7.7.1 64 byte ping: ttl=64 time=1 ms
7.7.7.1 64 byte ping: ttl=64 time<1 ms
7.7.7.1 64 byte ping: ttl=64 time=6 ms
7.7.7.1 64 byte ping: ttl=64 time<1 ms
7.7.7.1 64 byte ping: ttl=64 time=6 ms
7.7.7.1 64 byte ping: ttl=64 time=4 ms
21 packets transmitted, 21 packets received, 0% packet loss
round-trip min/avg/max = 0/3.9/9 ms

as you can see response time not <1ms

pinging remote PC

7.7.7.3 64 byte ping: ttl=64 time=27 ms
7.7.7.3 64 byte ping: ttl=64 time<1 ms
7.7.7.3 64 byte ping: ttl=64 time=3 ms
7.7.7.3 64 byte ping: ttl=64 time<1 ms
7.7.7.3 64 byte ping: ttl=64 time=3 ms
7.7.7.3 64 byte ping: ttl=64 time=2 ms
7.7.7.3 64 byte ping: ttl=64 time=1 ms
7.7.7.3 64 byte ping: ttl=64 time<1 ms
7.7.7.3 64 byte ping: ttl=64 time=1 ms
7.7.7.3 64 byte ping: ttl=64 time=1 ms
7.7.7.3 64 byte ping: ttl=64 time=4 ms
7.7.7.3 64 byte ping: ttl=64 time<1 ms
7.7.7.3 64 byte ping: ttl=64 time=4 ms
7.7.7.3 64 byte ping: ttl=64 time<1 ms
7.7.7.3 64 byte ping: ttl=64 time=4 ms
7.7.7.3 64 byte ping: ttl=64 time=4 ms
7.7.7.3 64 byte ping: ttl=64 time=5 ms
7.7.7.3 64 byte ping: ttl=64 time=4 ms
18 packets transmitted, 18 packets received, 0% packet loss
round-trip min/avg/max = 0/3.5/27 ms

troughput at pinging moment about 5 Mbit/s

CPU Athlon II x4 2.8 Ghz all 4cores to RouterOS

IMHO giving all cpu cores of host system to guest is not good habit, as host will have to deal with all the packets that are coming in going out from the guest. Especially if you are running on something like vmware.

So is better to give 3 corese and and one to hypervisor ?

RouterOS on ESXi 4.x is no problem. Just use e1000 network-adapters in VM give it 1vCPU and about 256 MB of RAM and you get almost 1Gb/s wire-speed in routing (realworld filecopy between external workstation and virtualized server on ESX) with ping’s <1ms inside and outside of your ESX. ROS CPU usage will be “high” about 80% in my environment during these tests, but this should not be a problem for ROS and your ESX if there are enough ressources on your ESX …

VMtools would be nice but are not really necessary …

If you don’t get this, have a look at your ESX self. How is the CPU usage and Net usage during your tests?

if you have only 1 virtual guest on the host, then maybe you do not need that virtualization at all. If you have several, then assigning not-all-cores to one guest is best you can do. Even if you have 2 that each have 3 cores assigned from 4 total - that will work better than 4 assigned to 1 guest.

And as abeggled wrote - 1 core per router will be good, now with 5.0 multicore changes 1 core per interface for maximum throughput, just do not know how that will work with virtual guests on vmware.

Need virtualization cause

It’s not one RouterOS installed

Ubuntu for web and media server

And

Game server


So there are 3 OSes.

Definitely agree…
when VMware schedules a multicore VM, it schedules all the cores at once - so if you’ve only got 4 cores on the host and you’re trying to run a 4 vcore VM, your VM won’t be able to get CPU time whenever the host needs CPU time. Not Good.
With only 4 cores in the host, I’d stick to single vcore VMs, or one dual vcore VM and the rest single core if you must.